저는 개발 노력에 관한 한 저의 일이 저주라고 생각하기 시작했습니다. 매우 이상한 문제가 계속 발생하고 있습니다.Domain Admins 그룹의 IsUserInRole 문제 (구성 문제가 아님)
사용자가 도메인 관리자인지 확인하려면 Roles.IsUserInRole(@"Domain\Domain Admins")
을 사용하고 있습니다.
내가 몇 년 동안 그 그룹에 있었지만, 그 그룹에서 나를 알아 채지 못한다. 처음에는 공간과 관련이 있다고 생각했지만 Roles.IsUserInRole(@"Domain\Domain Users")
은 잘 작동합니다. 두 그룹 모두 동일한 AD OU에 있습니다.
"Domain Admins"그룹에 대해 뭔가 특별한 점이 있습니까?
편집 :
List<GroupPrincipal> result = new List<GroupPrincipal>();
PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain);
UserPrincipal user = UserPrincipal.FindByIdentity(yourDomain, User.Identity.Name);
if (user != null)
{
PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();
foreach (Principal p in groups)
{
if (p is GroupPrincipal)
{
result.Add((GroupPrincipal)p);
}
}
}
var myRoles = Roles.GetRolesForUser(User.Identity.Name);
나는 그룹 구성원을 확인하기 위해 위의 코드를 사용했다.
Domain Admins
은
result
변수에 나열되어 있지만, 그렇지 않은 변수는
myRoles
당신이에있는 모든 그룹을 인쇄하고 도움이되는지 볼 수있는 스크립트를 작성 (약 작품을 설명하는 유일한 이유가되지 않습니다). – hoodaticus
Domain Admins 그룹에서 나를 본 것인지 확인하는 데 사용한 코드를 보여주는 편집을 추가했습니다. 편집 내 의견을 참조하십시오 –
가능한 중복 [User.IsInRole false를 반환] (http://stackoverflow.com/questions/2451068/user-isinrole-returning-false) – hoodaticus