带有消息和配置文件的ASP.NET MVC中的安全性

时间:2011-10-04 19:10:02

标签: asp.net-mvc security

我想根据我的角色(IsInRole)避免访问某些操作,我该怎么做(下面的代码更正?)是否可以在配置文件中定义允许访问此角色的角色列表行动?在我的例子中,在配置文件中定义“GROUP1”和“GROUP3”

[Authorize(Roles="GROUP1,GROUP3")]
public ActionResult MyAction(int id)
{

    return View(myView);
}

谢谢,

2 个答案:

答案 0 :(得分:1)

在编译时必须知道属性初始化中使用的值。

这意味着您无法从配置中获取它们。

答案 1 :(得分:1)

强烈建议不要使用locationauthorization 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