2011-10-20 5 views
0

저는 Windows 인증을 통해 MVC2 사이트에 액세스 할 수있게하고 ASP.net 역할 공급자를 사용하여 권한을 부여합니다. 나는 사이트에서 사용자 이름이 특정 그룹의 회원 인 경우 사용자가 사이트에 액세스 할 수 있도록 사이트에 접근 할 수 있도록 노력하고 있으므로 사용자는 sql에 가입 할 필요가 없지만 액세스 권한이있는 그룹에 가입하십시오. . 아무도 이걸하는 방법을 알아? 빠르고 더러운 방법이 있습니까? 지금까지 필자는 인터넷을 통해 빠르고 정확한 방법을 찾지 못했습니다. 어떤 도움이라도 좋을 것입니다.Windows 인증을 사용하여 MVC 사이트에 액세스 허용 사용자 이름을 통한 그룹을 통해

감사

+0

SRC는 그래서 당신은 창을 혼합하는 것을 시도하고 인증을 형성하고있다? – MarkKGreenway

+0

아니요. 저는 Windows 인증을 가지고 있으며이를 계속 유지하려고합니다. 사용자 그룹을 확인하는 방법이 있는지 궁금해서 그 그룹의 구성원 인 경우 해당 사이트에 액세스 할 수 있습니다. – SoftwareSavant

답변

0

ASP.NET 개발자는 다음 사용할 수있는 논리 "역할"에 사용자를 매핑 할 수있는 유용한 "역할 관리"기능을 제공하는 사용자에 대한/그룹 정보 역할을 찾고 최종 사용자 기능 및 권한 부여 액세스를보다 잘 제어 할 수 있습니다. 예를 들어 개발자로서 웹 응용 프로그램에 "관리자"라는 역할을 만든 다음 사이트의 일부에 대한 액세스를 "관리자"역할 내의 사용자로만 제한 할 수 있습니다 (참고 : 추가 레서피를 미래에는 역할 관리 권한 및 기능을 완전히 사용하는 방법에 대해 자세히 설명합니다.

ASP.NET은 Windows 인증을 사용하는 경우 개발자가 여러 소스에서 역할을 만들고 채울 수 있습니다. 예를 들어 개발자는 기본 제공 ASP.NET 2.0 SqlRoleProvider를 설정하여 Windows 사용자를 데이터베이스 내에 저장되는 사용자 지정 응용 프로그램 역할에 매핑 할 수 있습니다. 이 접근법은 중앙 집중식 Active Directory 트리/저장소로 밀어 넣는 것이 의미가없는 응용 프로그램 별 역할 매핑이있을 수있는 시나리오에 매우 유용합니다.

ASP.NET을 사용하면 응용 프로그램 내에서 중앙 Windows 및 Active Directory 그룹 매핑에 쉽게 액세스 할 수 있습니다. 예를 들어 "DOMAIN \ managers"라는 Active Directory 네트워크에 Windows 그룹이있는 경우 ASP.NET 응용 프로그램은 ASP.NET 사이트를 방문하는 현재 Windows 인증 사용자가 다음과 같은 코드를 작성하여이 그룹에 속하는지 여부를 조회 할 수 있습니다. 역할/그룹 룩업이 User.Identity.Name 속성의 동료 인 "User.IsInRole (rolename)"방법을 통해 이루어집니다

If User.IsInRole("DOMAIN\managers") Then 
    Label1.Text = User.Identity.Name & " is a manager" 
Else 
    Label1.Text = User.Identity.Name & " is not a manager" 
End If 

참고. http://weblogs.asp.net/scottgu/archive/2006/07/12/Recipe_3A00_-Enabling-Windows-Authentication-within-an-Intranet-ASP.NET-Web-application.aspx