ASP.NET MVC安全模型/数据库 - 我有哪些选择?

时间:2011-02-03 20:07:54

标签: asp.net-mvc security authorization

我们有几个需要角色/用户/权限安全模型的项目(ASP.NET MVC)。我们希望将这些数据保存在数据库的表中。如何建议我们使用ASP.NET MVC项目实现这个安全模型?使用自定义authroization属性,通过与数据库中的数据模型交互来确定用户是否获得授权?

是否有第三方/开源选项?

3 个答案:

答案 0 :(得分:2)

如果您愿意使用Entity Framework,则会有MVC的EF成员资格提供程序。 这里http://efmembership.codeplex.com/

答案 1 :(得分:1)

我接近这个的方式是反思控制器操作,我仍然使用普通的asp.net成员资格提供程序,但后来有一个存储我所有控制器/操作的操作表。

其次我创建了一个基本控制器并在基本控制器上添加了authorize属性,然后我覆盖了授权“事件”并检查了用户是否有权访问该特定操作,我对onactionexecuting做了同样的事情。 / p>

答案 2 :(得分:0)

我将Rhino Security用于复杂的MVC网站并喜欢它。

http://ayende.com/Blog/archive/2008/01/22/Rhino-Security-Overview-Part-I.aspx

安全通话最终看起来像这样:

     permissionBuilderService
                .Allow("/[Controller]", 1)
                .For("GAAdmins", 1)
                .OnEverything()
                .DefaultLevel()
                .Save();

authorizationRepository.AssociateUserWith(user, "GAAdmins"); 


if (authService.IsAllowed(user, "/[Controller]/[Action]"))
 ...;