2009-08-31 146 views

回答

23

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

要求用户登录,使用方法:

[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() 
+1

如果您希望您的角色/权限在数据库中是动态的,该怎么办? – 2013-07-09 01:28:35

+0

@JoePhilllips创建一个自定义属性和onAuthorize处理程序。 – nagytech 2013-07-09 01:33:21

+0

我喜欢授权方法装饰。下面是一个后续问题:如果我们有一个创建的活动目录组来处理规则的例外情况。一个名为“MyApp_AccessDenied”的组..有没有一种方法可以使用..也就是说Authorize装饰的否定版本......就像DenyAuthorize装饰一样? – Bkwdesign 2013-09-18 14:49:20