【问题标题】:Problem with custom MembershipProvider in SharePoint 2010SharePoint 2010 中的自定义 MembershipProvider 问题
【发布时间】:2011-03-26 02:23:09
【问题描述】:

我在让自定义成员资格提供程序在 SharePoint 中工作时遇到问题。显示登录页面,但是当我输入任何凭据时(无论对错),我都会收到以下错误:

给定的程序集名称或代码库无效。 (HRESULT 异常:0x80131047)(C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\Root\web.config 第 22 行)

第 22 行是我的会员提供程序的配置位置。它也在根网站 web.config 中配置(因为它需要在每个虚拟目录中配置)。如果我删除第 22 行,我会收到错误消息,抱怨提供程序不在每个 web.config 中,因此该部分似乎正在工作。

在同一个 Web 服务器上,我设置了一个默认的 MVC 项目并确认成员资格提供程序工作正常。我知道 sharepoint 至少部分加载了它,因为如果我让它在构造函数中引发异常,我会得到一个不同的错误(调用引发的异常等),甚至不会显示登录表单。

DLL 构建为 AnyCPU,针对 .NET Framework 3.5,位于 GAC 中。服务器运行的是 Windows 2008 R2,64 位。

谁能指点我尝试的方向?

【问题讨论】:

  • 您是否尝试过使用 Visual Studio 调试器来单步调试成员资格提供程序代码以查看它在哪里被炸毁?
  • @kbrim 第 22 行只是我的会员提供商的定义,我相信它工作正常,因为我在其他网络应用程序中使用了完全相同的行而没有问题。 @Tim 是的,我将调试器附加到所有 w3svc 进程,但一无所获

标签: sharepoint asp.net-membership sharepoint-2010 membership-provider


【解决方案1】:

您是否为会员提供者输入了<SafeControl> 条目?

【讨论】:

  • 我没有,没有。事实上,我不知道这是必要的 :) 我只是在 web.config 中为我尝试登录的虚拟目录添加了一个,没有任何变化。 Web 服务 web.config 中没有定义 SafeControls 部分,这是引发错误的位。
  • 对于任何加载外部 DLL 的 SharePoint 应用程序,您需要在 web.config 中有一个 SafeControl 条目。您是否在 SharePoint 或外部 Web 服务中收到错误?外部 Web 服务是否使用成员资格提供程序?
  • 在我输入一些登录详细信息后,错误来自共享点。也许我会尝试在其他几个地方散布 SafeControl 标记。
  • 我将我的 DLL 的 SafeControl 条目放在所有具有 SafeControl 条目的 web.config 文件中,但没有任何变化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
  • 1970-01-01
  • 1970-01-01
  • 2011-08-24
  • 1970-01-01
  • 1970-01-01
  • 2012-08-05
相关资源
最近更新 更多