目前我的应用程序使用PrincipalContext
类来对LDAP进行身份验证,更具体地说是对Active Directory进行身份验证,其中默认用户填写在 Web.config 的专用部分中:
ldapContext = new PrincipalContext(AdContextType, AdHost, AdContainer,
ContextOptions.SimpleBind,
AdDefaultUser, AdDefaultPassword)
这种身份验证允许通过
UserPrincipal.FindByIdentity(ldapContext, username)
查找任何其他用户。但我必须更改此内容,因为在 Web.config 中明文存储用户信息是不可接受的。好的,我理解 :-)所以我有几个解决方案:
加密Web.config中相应部分(包括
membership
和providers
等)使用部署应用程序的IIS 7的应用程序池帐户。这意味着需要从IIS检索Principal(我想这一点不会太难),然后将其用于对AD进行身份验证;但我找不到任何方法,无论是通过
PrincipalContext
类还是通过ActiveDirectoryMembershipProvider
。
非常感谢!