2012-04-20 4 views
0

예를 들어 role1, role2와 같은 광고에서 일부 역할이 있습니다. 컨트롤러를 인증하는 데 사용할 수있는 응용 프로그램에서 역할을 만들고 싶습니다. 는 물론 그 같은 것을 사용할 수 있습니다 Active Directory를 사용하는 ASP.NET MVC3 응용 프로그램의 사용자 지정 역할

[Authorize(Roles = "role1")] 

하지만 누군가가 AD에서 그룹의 이름을 변경하는 경우

후 나는 그것을 사용하는 모든 컨트롤러에서이 역할을 변경해야합니다. 그래서 나는 내가 컨트롤러에 사용됩니다 응용 프로그램에서 내 자신의 역할을 정의하기 위해 노력하고있어 :

MyRole = role1 

또한 여기 App에서 하나 이상의 역할을 넣을 수 있습니다. 그 같은 사용하려고 해요 :

string UserName = HttpContext.Current.User.Identity.Name; 
string[] roles = Roles.GetRolesForUser(UserName); 
if (roles.Contains("role")) 
{ 
    Roles.CreateRole("MyRole"); 
    Roles.AddUserToRole(UserName, "MyRole"); 
} 

을하지만 방법 CREATEROLEAddUserToRole는 Windows 인증과 함께 작동하지 않습니다.

어떻게해야할까요?

+0

여기 좋은 해결책을 발견했습니다. 나는 이것을 사용할 것이다. 더 나은 해결책이 있습니까? http://www.codecapers.com/post/Using-Custom-Security-Attributes-in-ASPNET-MVC.aspx – WooCaSh

+0

추가 정보를 주석으로 게시하지 말고 질문을 편집해야합니다. –

답변

0

이 솔루션은 인증 관리를 중앙 집중화하는 좋은 방법입니다. 새로운 역할을 만들 수는 없으며 솔직히 어쨌든 좋은 생각이 아닙니다. 당신이 그들을 통제하지 못한다면, 당신이 암시하는 것처럼 ... 누구든지 아마 당신이 행복하게 지낼 수 없을 것입니다.

그렇다면 역할을 생성하기 위해 웹 응용 프로그램 도메인 관리자에게 권한을 부여해야하며 좋은 보안 방법은 아닙니다.

관련 문제