使用Web部件中的自定义成员资格提供程序覆盖sharepoint webpart /中的web.config

时间:2010-08-30 10:33:19

标签: c# sharepoint sharepoint-2007 asp.net-membership

我正在为MOSS 2007开发一个Web部件。 Web部件正在部署到Web应用程序,该应用程序利用基于表单的身份验证和角色/成员资格提供程序来控制用户。

会员资格表已经过编辑,以包含额外的用户信息(我知道,这不是处理其他用户的最佳方式,即配置文件等,但是,这是其他部门的要求)。

由于我的网站部分需要访问此信息,因此我考虑实施自定义成员资格提供程序。

到目前为止我一直关注: http://msdn.microsoft.com/en-us/library/6tc47t75.aspx 我已经获得了我的自定义会员级别,以及一个非常简单的成员提供者类。

但是如何在我的网络部分中启用/使用此会员资格提供程序?

我尝试在我的解决方案的“WebPartCode”文件夹中创建一个简单的web.config,该文件夹位于我的webpart代码文件旁边,带有连接字符串和成员资格提供程序标记。

但我真的不知道如何建立/引用/使用会员提供者本身,所以我不知道还需要做什么。

我使用两个类(membershipprovider和custom membershipuser)构建了一个C#类库项目,并将其编译并安装在全局程序集缓存中 - 这是正确的吗?以及如何从这里访问它们?

希望有人可以提供帮助

1 个答案:

答案 0 :(得分:0)

您已经设置并运行了FBA,因此您不需要在Web应用程序的管理中心中进行任何更改。但是,供您参考,UI设置可在管理中心的“应用程序管理” - “身份验证提供程序”下找到。

您需要在服务器场中的每个Sharepoint服务器上的GAC中或您服务器场中每个Sharepoint服务器上的Web应用程序的bin目录中为您的成员资格提供程序安装DLL。我建议将DLL打包在解决方案中以便部署它们。

然后需要在您的Sharepoint IIS站点(例如,Web应用程序)的web.config中配置FBA。可以在C:\ Inetpub \ wwwroot \ wss \ VirtualDirectories \ [Web应用程序名称] \ web.config中找到,这需要为服务器场中的每个Sharepoint服务器进行配置。

请注意,通过在特定Web应用程序上安装自定义成员资格提供程序,您必须删除现有成员资格提供程序。除非您的自定义成员资格提供程序使用当前成员资格提供程序使用的相同成员数据库(例如,用户名/密码),否则这可能会导致现有用户出现问题。

Tim