我们的 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
更详细地涵盖编写自定义角色提供程序的内容。