我想将控制器类的默认角色设为“管理员,内容编辑器”
[Authorize(Roles = "Administrators, Content Editor")]
我通过使用上面的属性装饰控制器来完成此操作。但是,我希望所有人都可以使用一个操作(即“查看”)。如何重置角色,以便每个人(包括完全未经授权的用户)都可以访问此操作。
注意:我知道我可以使用上面的authorize属性来装饰其他所有动作,但我不想一直这样做。我希望默认情况下所有控制器操作都是不可能的,这样如果有人添加操作,他们必须做出一个经过深思熟虑的决定,以便公众可以使用它。
答案 0 :(得分:16)
MVC4有一个新属性,正好适用于此[AllowAnonymous]
[AllowAnonymous]
public ActionResult Register()
答案 1 :(得分:4)
您可以在操作方法上放置Authorize属性。不只是在班级。
因此,将属性从控制器类移动到您想要保护的操作方法。
答案 2 :(得分:0)
到目前为止,我能想到的唯一解决方案是创建并注册另一个控制器,以便我有一个用于匿名访问,一个用于授权访问,但这并不像我希望的那样优雅。