【发布时间】:2011-05-10 15:51:11
【问题描述】:
我当前的应用程序使用 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类。
您知道如何管理这两种解决方案中的任何一种吗,或者您是否想到了其他任何解决方案?
非常感谢!!
【问题讨论】:
标签: c# asp.net iis-7 active-directory principal