我正在使用 ASP.NET 3.5 SP1 并将我的头撞到墙上,试图让 Membership 与 ActiveDirectoryMembershipProvider 一起工作。似乎我们的密码以纯文本形式存储在我们的 AD 中。我似乎没有办法告诉 AD 提供者使用除散列密码以外的任何东西进行身份验证。
Microsoft文档说在 System.Web 的 v2.0.0.0 中支持 passwordFormat 属性。理想情况下,我应该能够将其设置为“清除”。我还没有测试过它,但我相信它是可行的,并且已经在 .NET 4.0 中看到了示例(由于项目限制,我不能使用这个版本的框架)。
如下设置配置时,我不断收到异常。
<add name="ActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider,
System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADService"
attributeMapUsername="sAMAccountName"
enablePasswordReset="false"
passwordFormat="Clear"
/>
有人对如何使用 AD 中的现有用户帐户进行身份验证有任何想法吗?
更新 意识到拥有attributeMapUsername 就足够了。不需要指定域,也不需要密码格式。