我目前的應用驗證針對Active Directory使用PrincipalContext
類認證針對LDAP默認用戶(在的Web.config專用部分填寫)(更確切地說一個Active Directory):ASP.NET/IIS 7 - 使用主要
ldapContext = new PrincipalContext(AdContextType, AdHost, AdContainer,
ContextOptions.SimpleBind,
AdDefaultUser, AdDefaultPassword)
這個認證則可以搜索任何其他用戶(通過UserPrincipal.FindByIdentity(ldapContext, username)
)。但是我必須改變這種情況,因爲我的客戶端無法接受Web.config中明確的用戶。 OK,我可以理解,:-))
所以我有幾個解決方案:
管理對的Web.config(該
membership
部分的相應部分進行加密,以providers
等)使用部署應用程序的IIS 7的應用程序池中的帳戶。這意味着從IIS檢索一個Principal(我猜這點不應該太難),然後用它來對AD進行身份驗證;但我發現沒有找到任何方法,既不通過
PrincipalContext
類,也不通過ActiveDirectoryMembershipProvider
之一。
您是否知道如何管理這兩種解決方案中的任何一種,或者您是否認爲有其他解決方案?
非常感謝!
事實上,問題是密碼:我想沒有辦法從一個委託人(基本安全)獲取密碼。好吧,我會看看加密。 – Emmanuel 2011-05-11 07:17:30
好的,謝謝!加密的一個好方法是通過一個IIS工具,在[這個其他的SO主題]中有詳細描述(http://stackoverflow.com/questions/134658/problem-encrypting-membership-element-in-web-config)。 – Emmanuel 2011-05-11 14:10:16
沒問題。整天! – sra 2011-05-11 14:16:30