私たちの MVC3 アプリケーションは Fluent NHibernate を使用しており、ユーザー ログイン、認証、承認の実装が必要です。
[Authorize]
コントローラー クラスでメソッドを使用している記事を見たことがあります。ただし、Fluent NHibernate が使用されていることを考えると、これがすべての状況でどのように機能するかはわかりません。
これを機能させる方法について、誰かがいくつかの提案を共有できますか?
私たちの MVC3 アプリケーションは Fluent NHibernate を使用しており、ユーザー ログイン、認証、承認の実装が必要です。
[Authorize]
コントローラー クラスでメソッドを使用している記事を見たことがあります。ただし、Fluent NHibernate が使用されていることを考えると、これがすべての状況でどのように機能するかはわかりません。
これを機能させる方法について、誰かがいくつかの提案を共有できますか?
RoleProviderクラスを実装するカスタム ロール プロバイダーを作成できます。RoleProvider クラスのカスタム実装では、必要なデータベース アクセス テクノロジ (FluentNhibernate など) を使用できます。基本的に、IsUserInRoleメソッドの実装に関心があります。
次に、コントローラー/アクションを Authorize 属性で装飾します。
[Authorize(Roles = "Admin")]
public ActionResult Foo()
{
return Content("Only administrators can see this message");
}
blog post
また、カスタム ロール プロバイダーの記述について詳しく説明している別の記事もあります。