ASP.NET MVC角色授权

时间:2009-04-23 07:52:03

标签: asp.net-mvc authorization roles

我想将控制器类的默认角色设为“管理员,内容编辑器”

[Authorize(Roles = "Administrators, Content Editor")]

我通过使用上面的属性装饰控制器来完成此操作。但是,我希望所有人都可以使用一个操作(即“查看”)。如何重置角色,以便每个人(包括完全未经授权的用户)都可以访问此操作。

注意:我知道我可以使用上面的authorize属性来装饰其他所有动作,但我不想一直这样做。我希望默认情况下所有控制器操作都是不可能的,这样如果有人添加操作,他们必须做出一个经过深思熟虑的决定,以便公众可以使用它。

3 个答案:

答案 0 :(得分:16)

MVC4有一个新属性,正好适用于此[AllowAnonymous]

[AllowAnonymous]
public ActionResult Register()

http://blogs.msdn.com/b/rickandy/archive/2012/03/23/securing-your-asp-net-mvc-4-app-and-the-new-allowanonymous-attribute.aspx

答案 1 :(得分:4)

您可以在操作方法上放置Authorize属性。不只是在班级。

因此,将属性从控制器类移动到您想要保护的操作方法。

答案 2 :(得分:0)

到目前为止,我能想到的唯一解决方案是创建并注册另一个控制器,以便我有一个用于匿名访问,一个用于授权访问,但这并不像我希望的那样优雅。

相关问题