2010-01-19 4 views
2

나는이 예외를 뻥하고의 AD LDS는

2 페이지의 웹 응용 프로그램이 있습니다. Default.aspx & Login.aspx. 나중에 로그인 컨트롤이 포함되어 있습니다. 응용 프로그램은 AD LDS 인스턴스를 구성원 저장소로 사용하도록 구성됩니다. 여기

는 그럼 난 내 컴퓨터에서 AD LDS 인스턴스를 설치

<authentication mode="Forms"> 
    <forms name=".AuthCookie" loginUrl="Login.aspx" timeout="10" /> 
    </authentication> 
    <authorization> 
    <deny users="?" /> 
    <allow users="*" /> 
    </authorization> 
    <membership defaultProvider="MyDSProvider"> 
    <providers> 
     <add name="MyDSProvider" 
      type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      applicationName="ADSecWebApp" 
      connectionStringName="MyDSConn" 
      connectionUsername="CN=Admin,CN=Users,CN=MyOrg,DC=MyDomain,C=CA" 
      connectionPassword="Welcome1" 
      connectionProtection="None" 
      /> 
    </providers> 
    </membership> 

의 Web.config에 대한 관심의 일부 섹션입니다.

AD LDS는 하나의 응용 프로그램 파티션 "CN = MyOrg, DC = MyDomain, C = CA"를 갖도록 구성됩니다. 관리자 & 존스 :이 파티션에서

가 나는 두 명의 사용자를 만들어이 컨테이너에서 컨테이너 "CN = 사용자, CN = MyOrg, DC = MYDOMAIN, C = CA"

를 만들었습니다. 둘 다 사용하도록 설정되었으며 암호 ("Admin"의 경우 "Welcome1")가 설정되었습니다.

또한 관리자는 "CN = Administrators, CN = Roles, CN = MyOrg, DC = MyDomain, C = CA " (ADP를 사용하면 ADMembershipProvider 구성 섹션에서 connectionProtection ="None "을 사용하면 Windows 계정을 사용할 수 없다는 것을 알 수있는 몇 가지 기사가 있습니다. 대신 AD 계정을 사용하여 AD 인스턴스에 대한 관리 권한이 있어야합니다 에 연결합니다.)

이 또한 내가 윈도우 7, IIS7이, VS 2008 SP1, .NET 3.5

누군가가 나에게 무엇이 잘못되었는지에 대한 몇 가지 힌트를 줄 수 있습니까? 나는 많은 연구를했고, 하나씩 오류를 풀었지만, 이것 하나에 붙어있는 것 같습니다.

나는 왜 내가 초보자인지에 대한 해결책을 제시했는지에 대한 설명을 해 주셔서 감사합니다. 동료로부터 도움을 사전

이 울리

답변

5

에서

덕분에 나는 문제가 무엇인지 발견했다. 분명히 AD Admins 역할 (=> CN-Roles => CN-Administrators => Properties => select {member} => Add DN => 내 Admin 사용자 추가)에 Admin AD 사용자를 추가했을 때 저장하지 못했습니다. 뭔가 다른 것이 잘못되었다. 어느 쪽이든 내 관리자 사용자는 관리자 구성원으로 저장되지 않았습니다.

ldp.exe를 사용하여 문제의 원인을 찾아 냈습니다. 즉, 내 인스턴스에 연결 한 다음 CN = Admin 사용자에게 세션을 바인드 할 수 있다는 의미에서 아무 것도 볼 수 없었지만 우리가 CN = Admin이라고 암시하는 트리 뷰는 아직 관리자가 아닙니다.

한 가지 더 남겨 두었던 것 : 안전한 웹 애플리케이션에 로그인하려는 계정의 userPrincipalName을 설정해야했습니다. AD 계정을 만들 때 사용한 이름을 사용했습니다. CN = JohnS가 실제로 사용하지 않았습니다. 사용자 유효성을 검사 할 때 ActiveDirectoryMembershipProvider.userPrincipalName에 대해 [email protected]과 같은 전자 메일을 사용했는데 실제로 웹 응용 프로그램에 로그온하는 데 사용해야합니다.

이 모든 것이 끝나면 AD LDS & ASP.NET 폼 인증 샘플로 모든 것이 잘 진행되었습니다.

다른 사람이 유용하게 사용하기를 바랍니다.

감사

이 울리