0

cancan、declarative authorization、cantango などの優れた認可 gem がたくさんあることは知っています。モデル クラスをロール自体として使用することは可能ですか?

たとえば、家庭教師と生徒の 2 つのリソースがある場合、家庭教師と生徒を役割としても作成できますか? リソースが互いにまったく異なり、認証に単一のユーザークラスを使用しないため、リソースごとに異なる認証ページがあるため、これを求めています。

また、私がレールに不慣れなため、完全に間違っている場合はガイドしてください:-)。

4

1 に答える 1

3

短い答えは「はい」です。cancan の場合、最終的には、許可されたアクセスを構成するものを定義することになり、それを好きなように行うことができます。自動化された部分のほとんどはユーザー モデルを想定していますが、提供されているヘルパーを使用するための厳しい要件はありません。通常どおり、権限ロジックを ability.rb ファイルで定義しますが、手動でauthorize!コントローラーを呼び出します。

とはいえ、生活をよりシンプルにして単一のユーザー モデルを使用するのではなく、ユーザーの役割をコンテキスト依存にするのはなぜでしょうか? そうすれば、確立された認証ワークフローの恩恵を受け、おそらくより明確なドメイン モデルも得られます。

于 2013-02-20T14:06:40.923 に答える