2011-02-04 127 views
0

嗨 我有一个活动目录安装在属于与我正在开发的域不同的域的计算机上。登录到活动目录

这两个域之间没有信任关系。

假设该域名为“test.com”。

有一个名为“测试\管理员”,密码为“ADMIN_PASSWORD”

当我设置这些设置与ActiveDirectoryMembershipProvider,我将能够访问,并登录到该活动目录和验证用户的管理员。 我使用这些设置

<configuration> 
    <connectionStrings> 
     <add name="ADService" connectionString="LDAP://test.com"/> 
    </connectionStrings> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 

     <authentication mode="Forms"> </authentication> 

     <membership defaultProvider="AspNetActiveDirectoryMembershipProvider"> 
     <providers> 
      <add name="AspNetActiveDirectoryMembershipProvider" connectionStringName="ADService" connectionUsername="test\administrator" connectionPassword="admin_password" 
       type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" 
       connectionProtection="None" requiresUniqueEmail="false" enableSearchMethods="true" applicationName="/"/> 
     </providers> 
     </membership> 
</configuration> 

但是,当我尝试从同一个Web应用程序编写代码,或从其他应用程序,并尝试从代码访问活动目录中,我得到了错误登录失败,未知的用户姓名或密码。

,这是我的代码

DirectoryEntry de = new DirectoryEntry("LDAP://test.com", "test\administrator", "admin_password", AuthenticationTypes.ServerBind); 

      var ds = new DirectorySearcher(de) { Filter = string.Format("(&(objectClass=user)(sAMAccountName={0}))", "[email protected]") }; 
      SearchResultCollection users = ds.FindAll(); 

我尝试了所有类型的AuthenticationTypes的,并没有什么工作 任何想法请

+0

在过去,我只能通过与Active Directory服务器的管理员一起寻找这些问题。通常,他激活了事件日志记录,然后我们看到了“未知的用户名或密码”消息的真正原因。我强烈建议你尝试类似的东西。 – 2011-02-04 22:00:36

回答

0

我发现了问题 这是非常愚蠢的 的域名应该是资本,所以用户名应该是TEST \管理员

我很惊讶会员提供商能够处理此问题。