如何使用Asp.Net MVC通过配置文件创建安全策略?

时间:2017-09-02 19:23:01

标签: c# asp.net-mvc asp.net-mvc-4

我正在使用Asp.Net MVC创建一个系统,但在开始开发之前,我需要定义安全策略。我想通过配置文件创建它,其中每个配置文件都有权访问,例如:配置文件管理(所有权限),配置文件通用(限制访问),配置文件管理器(具有配置文件管理的某些权限)。

我想通过方法的名称或控制器创建一个带权限的配置文件,并将权限赋予boolean true / false,例如:方法addNewProduct(),此方法是否仅适用于Profile Administrative /经理我只会为他们授予权限,但是,我不知道如何让Controller或Method的名称来授予他们这些权限。

示例:

配置文件

Administrative      |   Common             |   Manager
[x]addNewProduct    |   []addNewProduct    |   [x]addNewProduct

我怎么能这样做?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您要查找的不是配置文件,而是角色,该技术称为基于角色的授权

在ASP.NET MVC中,您可以像这样使用它:

[Authorize] //ensure a user is signed-in
public class MyController : Controller
{
    [Authorize(Roles = "Administrative,Manager")] // ensure the user is signed in and belongs in one of the roles
    public ActionResult DoSomething()
    {
        return View();
    }
}

此处,例如,如果启用了Windows Authentication,则Authorize属性会在Groups中查找用户的Active Directory,以确认该用户是否属于其中一个那些团体与否。