2010-11-29 8 views
2

내 ASP.NET 응용 프로그램 중 하나에서 AzMan을 평가하려고하는데 이상한 문제가 있습니다. 나는 응용 프로그램의 App_Data에있는 XML 권한 부여 저장소를 생성하고 이러한 역할 정의를 추가AzMan 및 AD 역할이있는 ASP.NET 역할 기반 보안

  • 사용자
  • 소유자
  • 관리

: 내 테스트 응용 프로그램은 세 가지 역할 기대하고있다. AuthorizationStoreRoleProvider를 사용하도록 내 테스트 ASP.NET 응용 프로그램을 구성하고 Principal.IsInRole 및 PrincipalPermission을 사용하는 일부 테스트 코드를 추가했습니다. AzMan의 역할에 할당 된 로컬 계정으로 내 로컬 컴퓨터에서 모든 것이 잘 작동했습니다.

그런 다음 테스트 응용 프로그램을 서버로 이동하고 Active Directory 사용자 및 그룹을 AzMan의 역할에 할당했습니다. 이제 PrincipalPermission 및 Principal.IsInRole이 더 이상 작동하지 않습니다. 흥미로운 점은 빌트인 Everyone 그룹을 어떤 역할에 할당하면 AD 사용자와 역할에 할당 된 그룹에 문제가 있다는 것입니다. AD 그룹 및 사용자와 함께 XML 권한 부여 저장소를 사용할 수 있습니까? 그런 문제를 일으킬 수있는 또 다른 것은 무엇입니까?

답변

1

asp.net 응용 프로그램의 보안 설정을 확인하십시오.

익명 인증이 켜져있는 것처럼 들리므로 사용자가 스스로 익명의 사용자가 아닌 익명의 사용자가되어 모든 사용자가 사용할 수 있습니다.

+0

보안 설정이 정확한 것입니다. 인증 된 사용자의 사용자 이름과 도메인을 볼 수있는 진단 페이지가 있습니다. –

+0

장거리 : 도메인 그룹 대신 로컬 그룹을 사용하려고 Azman 역할에 그룹을 지정할 때 도메인 접두사가 누락 되었습니까? 마지막 로그인 이후의 그룹 할당도 가능합니다 (로그 아웃했다가 다시 로그인하는 경우). –

+0

빙고. 광고 구조는 예상보다 훨씬 복잡하고 그룹과 사용자는 두 나무 사이에서 복제됩니다. 나는 실수로 다른 AD 트리에서 그룹과 사용자를 할당 한 다음 예상했다. –

0
<roleManager enabled="true" cacheRolesInCookie="false" cookieName=".ASPXROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All" defaultProvider="AspNetWindowsTokenRoleProvider" createPersistentCookie="false" maxCachedResults="25"> 
     <providers> 
      <clear/> 
      <add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
     </providers> 
    </roleManager> 
관련 문제