我很难让我的 Sharepoint 网站使用表单身份验证。我已经尝试使用 ActiveDirectoryMembershipProvder 和 LDAP 等效项,但它们似乎都绝对无法在任何“peoplefinder”类型的区域中从 ActiveDirectory 中找到任何用户。
在管理部分的 Web.config 中,我有这个:
<membership defaultProvider="ADMembershipProvider">
<providers>
<add name="ADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString" />
</providers>
</membership>
然后再过一会儿:
<connectionStrings>
<add name="ADConnectionString" connectionString="LDAP://dc.ourcompany.com/dc=ourcompany,dc=com,ou=Ourcompany,ou=UK,ou=Townville,ou=Users" />
</connectionStrings>
连接字符串的内容正好来自 ADExplorer,但是否正确,我真的不知道,AD 不是我的专长。
我尝试在 <provider> 标记中指定用户,但没有,这似乎都没有引起问题。
当我尝试将用户添加到我正在配置此身份验证的站点时,我无法让它找到域中的任何人。我试过以下几种说法:
- ADMembershipProvider:用户名
- ADMembershipProvider:[email protected]
- ADMembershipProvider:OURCOMPANY\用户名
- 用户名@ourcompany.com
- 我们的公司\用户名
- 用户名
这些似乎都没有任何区别。
真正令人沮丧的是,无论是 Sharepoint 的日志(设置为 Verbose,我的上帝是他们的意思)还是系统事件日志似乎都没有给出任何问题的迹象,他们只是什么都不做。
这里是否存在明显的问题,如果没有,是否有一种简单的方法可以让我稍微分解一下以找出它在过程中失败的地方?
我最近为我的网站设置了 FBA。我遵循了这份文件,它绝对完美无缺。我遇到了您遇到的类似问题,但后来我发现我在配置 CA 的配置文件时犯了一些错误。
您是否尝试过遵循此文档?
您是否确保在 web.config 的 PeoplePickerWildcards 元素中设置了您的提供商名称?IE:
这将需要在应用程序的 web.config 中进行设置,如果您尝试在那里设置任何内容,则需要在 WSS 管理应用程序的 web.config 中创建必要的条目。
好吧,我认为对于 [email protected],您需要将属性 attributeMapUsername 添加到提供程序字符串。通常我对 [email protected] 使用“userPrincipleName”,对“domain\user”设置使用“sAMAccountName”。至少我认为这是关系,但我没有方便仔细检查的代码。相关场景可能还有其他合理的设置,但我不确定它们会是什么。