0

我们的 MVC3 应用程序使用 Fluent NHibernate,需要实现用户登录、身份验证和授权。

我看过使用[Authorize]控制器类中的方法的文章。但是,鉴于 Fluent NHibernate 正在使用中,我不确定这一切在我们的情况下是如何工作的。

任何人都可以分享一些关于如何完成这项工作的建议吗?

4

1 回答 1

2

您可以编写一个自定义角色提供程序来实现RoleProvider类。在您的 RoleProvider 类的自定义实现中,您可以使用您想要的任何数据库访问技术 - FluentNhibernate 或其他任何东西。基本上,您对实现IsUserInRole方法感兴趣。

然后用 Authorize 属性装饰你的控制器/动作:

[Authorize(Roles = "Admin")]
public ActionResult Foo()
{
    return Content("Only administrators can see this message");
}

这是另一个blog post更详细地涵盖编写自定义角色提供程序的内容。

于 2012-08-08T17:59:03.737 回答