我正在使用Asp.Net MVC创建一个系统,但在开始开发之前,我需要定义安全策略。我想通过配置文件创建它,其中每个配置文件都有权访问,例如:配置文件管理(所有权限),配置文件通用(限制访问),配置文件管理器(具有配置文件管理的某些权限)。
我想通过方法的名称或控制器创建一个带权限的配置文件,并将权限赋予boolean true / false,例如:方法addNewProduct()
,此方法是否仅适用于Profile Administrative /经理我只会为他们授予权限,但是,我不知道如何让Controller或Method的名称来授予他们这些权限。
示例:
配置文件
Administrative | Common | Manager
[x]addNewProduct | []addNewProduct | [x]addNewProduct
我怎么能这样做?有什么建议吗?
答案 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
,以确认该用户是否属于其中一个那些团体与否。