我正在尝试让基于声明的身份验证与 Sharepoint Foundation 2010 一起使用。我已经在线学习了几个教程,并将我的角色和成员资格提供者添加到应用程序的 web.config 以及 STS Web 服务中。(我实际上将提供程序添加到 machine.config 中,但两种方式都尝试了相同的结果。)尝试进行身份验证(甚至只是直接浏览服务)时引发的异常是:
System.InvalidOperationException:在对策略导出扩展的调用中引发了异常。扩展:System.ServiceModel.Channels.TransportSecurityBindingElement 错误:安全策略导出失败。该绑定包含一个 TransportSecurityBindingElement,但没有实现 ITransportTokenAssertionProvider 的传输绑定元素。不支持此类绑定的策略导出。确保绑定中的传输绑定元素实现 ITransportTokenAssertionProvider 接口。
现在,我正在通过 SSL 访问该服务,但使用的是自签名证书(在 IE 中会引发标准警告)。Web 服务配置部分应该有一个名为“allowInsecureTransport”的标志,但这显然仅在 .net 4 中可用。当我尝试在应用程序池上查看此 Web 服务使用 v4 的框架版本时,该服务甚至根本不会运行。
如果有人成功配置了自定义身份验证提供程序(基于 SqlMembershipProvider)以使用 Sharepoint 2010,我会对您如何做到这一点非常感兴趣。我还没有此服务器的证书,但如果这真的是我所缺少的,那么我今天将订购一个!谢谢。