私は自分のアプリケーションの役割ベースのアクセスコントロールユニットを実装しようとしていますが、自分の制約を受けてそれを行う方法はわかりません。異なるユーザータイプのルールベースのアクセスコントロールユニットを作成する方法
私はサインイン/アップ操作にDeviseを使用します。モデルユーザーは1人だけですが、すべてのユーザーに異なるuser_type
があります。私は、異なる認証レベル(整数)を持つ8つの一意のユーザータイプを持っています。
これらは、ユーザーがサイトとの対話方法に制約されている:高い認証レベルで
ユーザーが低く認証レベルの機能とそれに関連するユーザーの種類、すなわち、それらに関連するコントローラへのアクセスを実行し、ものを行うことができます。
auth_level = 2
とuser1
は、コントローラC1
にアクセスすることができますが、同じauth_level = 2
とuser2
はコントローラC2
にアクセスすることができます。同じ認証レベルを持つすべてのユーザーのタイプは、同じコントローラにアクセスできるわけではありません。他の方法は、彼らは同じレベルで別の仕事をしているということです。
このようなことを実現する宝石はありますか?私はCanCanを見てきましたが、私のニーズを満たしていません。
- 宝石がない場合、そのようなアクセス制御ユニットを実装するにはどのようなアプローチ/デザインをお勧めしますか?
[ask]とリンクされたページをお読みください。あなたはあなたの環境やニーズについて十分に話していないので、あなたの質問は幅広いです。あなたはオフサイトのリソースのためにあなたに推奨事項を教えてくれるように頼んでいます。代わりに、あなたは研究を行い、物事を試してから、あなたに最適なものを決定し、コードを書いてから問題があれば、その問題について特定の質問をする必要があります。 –