2011-02-04 193 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 \管理員

我很驚訝會員提供商能夠處理此問題。