我想根据我的角色(IsInRole)避免访问某些操作,我该怎么做(下面的代码更正?)是否可以在配置文件中定义允许访问此角色的角色列表行动?在我的例子中,在配置文件中定义“GROUP1”和“GROUP3”
[Authorize(Roles="GROUP1,GROUP3")]
public ActionResult MyAction(int id)
{
return View(myView);
}
谢谢,
答案 0 :(得分:1)
在编译时必须知道属性初始化中使用的值。
这意味着您无法从配置中获取它们。
答案 1 :(得分:1)
强烈建议不要使用location
和authorization
web.config设置,因为它会在MVC应用程序中打开安全漏洞:
http://forums.asp.net/t/1583850.aspx/1/10
您可能需要一个可用于查找授权规则的自定义属性。你可以在这里看一个例子:
http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3-application.aspx