2011-10-10 3 views
4

컨트롤러 내의 특정 작업에 권한을 어떻게 설정합니까?특정 mvc3 컨트롤러/작업에서 사용자 역할을 인증하는 방법은 무엇입니까?

예 (유효한 사용자 이름이 로그인 권한을 부여) :

[Authorize] 
    public ActionResult ChangePassword() 
    { 
     return View(); 
    } 

을 그래서, 내가 ... 사용자 역할을 기반으로이 같은 것을 액세스를 검증하기 위해 찾고 있어요 :

[Authorize] 
    [AuthorizeRole="Admin"]  // This is psuedo but something like this 
    [AuthorizeRole="SuperUser"] // This is psuedo but something like this 
    public ActionResult ChangePassword() 
    { 
     return View(); 
    } 

뭔가가 위와 같이 가능합니까? 특정 컨트롤러/작업 보안에 대한 역할을 기반으로 액세스를 보호하는 가장 좋은 방법은 무엇입니까?

감사합니다.

답변

12

이것이 필요한 것입니다.

[Authorize(Roles = "Admin, SuperUser")] 

참조 : http://msdn.microsoft.com/en-us/library/dd460317.aspx

+0

좋아, 그래서 나는 "관리자, 관리자"작업을 얻을 수 없습니다 여전히 "aspnet_UsersInRoles"에서 "aspnet_Roles"의 관리자 역할 및 (사용자 이름/ID에 대한) 사용자 역할을 추가하지만, 한 . " JaJ

3
[Authorize(Users="Jacquo, Steve", Roles="Admin, SuperUser")] 

사용자 : 액션 메소드에 액세스 할 수있는 사용자 이름의 쉼표로 구분 된 목록입니다.

역할 : 쉼표로 구분 된 역할 이름 목록. 조치 메소드에 액세스하려면 사용자는 최소한 다음 역할 중 하나에 있어야합니다.

http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute.aspx

관련 문제