我们的MVC3应用程序正在使用Fluent NHibernate,需要实现用户登录,身份验证和授权。
我在控制器类中看过使用[Authorize]
方法的文章。但是,鉴于Fluent NHibernate正在使用,我不确定这一切在我们的情况下是如何工作的。
有人可以就如何使这项工作分享一些建议吗?
答案 0 :(得分:2)
您可以write a custom role provider实施RoleProvider课程。在您的RoleProvider类的自定义实现中,您可以使用您想要的任何数据库访问技术 - FluentNhibernate或其他。基本上您有兴趣实现IsUserInRole方法。
然后用Authorize属性装饰你的控制器/动作:
[Authorize(Roles = "Admin")]
public ActionResult Foo()
{
return Content("Only administrators can see this message");
}
这是另一个blog post
,其中详细介绍了编写自定义角色提供程序。