C# 基于角色的安全asp.net mvc

C# 基于角色的安全asp.net mvc,c#,.net,asp.net-mvc,security,C#,.net,Asp.net Mvc,Security,我想知道在MVC中使用基于角色的安全性的最佳实践是什么: 如何保护您的操作并使其仅可由特定角色访问?如果您正确设置了ASP.Net成员资格提供程序,则可以轻松使用[Authorize]-属性指定不同角色或用户的访问权限 要要求用户登录,请使用: [Authorize] public class SomeController : Controller // Or [Authorize] public ActionResult SomeAction() 要限制特定角色的访问,请使用: [Auth

我想知道在MVC中使用基于角色的安全性的最佳实践是什么:

如何保护您的操作并使其仅可由特定角色访问?

如果您正确设置了ASP.Net成员资格提供程序,则可以轻松使用[Authorize]-属性指定不同角色或用户的访问权限

要要求用户登录,请使用:

[Authorize]
public class SomeController : Controller

// Or
[Authorize]
public ActionResult SomeAction()
要限制特定角色的访问,请使用:

[Authorize(Roles = "Admin, User")]
public class SomeController : Controller

// Or
[Authorize(Roles = "Admin, User")]
public ActionResult SomeAction()
要限制特定用户的访问,请使用:

[Authorize(Users = "Charles, Linus")]
public class SomeController : Controller

// Or
[Authorize(Users = "Charles, Linus")]
public ActionResult SomeAction()

如果您希望您的角色/权限在DB中是动态的,该怎么办?@JoePhilllips创建一个自定义属性,并使用Authorize处理程序。我喜欢Authorize方法装饰。下面是一个后续问题:如果我们创建了一个active directory组来处理该规则的异常。。e、 g.名为“MyApp_访问被拒绝”的组。。有没有一种方法可以使用它。。i、 e.授权装饰的负面版本。。。像是丹雅授权的装饰?