我有一個使用本機身份驗證控件的.NET Framework第4版在Visual Studio 2010中開發的ASP.NET應用程序。我使用Active Directory成員資格提供程序連接了該站點。由ASP.NET中的AD安全組篩選
我的連接字符串看起來是這樣的:
connectionString="LDAP://MYDC-004/DC=company,DC=corp,DC=pvt"
這工作得很好,作爲登錄頁面正常工作,而且存在於公元任何用戶都可以使用自己的憑據登錄。
不過,我只希望允許在一個特定安全組用戶能夠登錄。我知道那裏的安全組(稱爲「GR-DwgDep-管理員」)位於在AD組織單位,所以我想出了這個修改的連接字符串:
connectionString="LDAP://MYDC-004/CN=GR-DwgDep-Admins,OU=Groups,OU=Division,DC=company,DC=corp,DC=pvt" />
當我嘗試登錄(和我肯定是這個組中),我得到的錯誤是「用戶對象不能創建指定的容器「。
我的語法不正確嗎?或者我在概念上以錯誤的方式做這件事?我真的更喜歡通過連接字符串設置來完成此操作,因爲這樣現有的.NET登錄控件將按原樣工作。
我將不勝感激任何人有任何建議。謝謝!
雷米 - 最後我做類似的事情,但我喜歡你的方法好。我會試驗你在這裏做了什麼,並回過頭來回答任何其他問題。感謝您的詳細回覆! – Loki70
我忘記提及,因爲我通過sAMAccountName來搜索域,如果我錯了,請糾正我,但我們可以跳過foreach循環,並將ds.FindAll()更改爲ds。FindOne()並將所有內容封裝在try catch最終語句中。祝你好運! – Remy