看了Kaneboy的《 在SharePoint Server 2007中创建定制的用户管理模块》,于是动手测试,一切配置完毕在输入完用户名和密码后,点登录按钮却出现下列提示:
The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
看信息是说我的程序集名或代码无效,折腾了一下午都没搞定,晚上回家想想,明天再测。
明天要是测试成功,我打算写一个ORACLEMembershipProvider,因为我们单位的数据库是Oracle的,这样就可以更好的与现有办公自动化系统整合。
第二天
今天早上一上班就继续昨天的调试,终于调通了,原来是我的web.config中的配置与程序集不相符造成的。
在 <system.web> 节点下添加
<
membership
defaultProvider
="MDBMembershipProvider"
>
< providers >
< add name ="MDBMembershipProvider" type ="BoooLee.MDBMembershipProvider, MDBMembershipProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ca2ea65f6309e4f5" description ="" filePath ="C:\Inetpub\wwwroot\wss\VirtualDirectories\80\Users.txt" />
</ providers >
</ membership >
简单对上面的语句进行描述:
< providers >
< add name ="MDBMembershipProvider" type ="BoooLee.MDBMembershipProvider, MDBMembershipProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ca2ea65f6309e4f5" description ="" filePath ="C:\Inetpub\wwwroot\wss\VirtualDirectories\80\Users.txt" />
</ providers >
</ membership >
defaultProvider=MDBMembershipProvider
定义缺省的membership提供程序
name="MDBMembershipProvider"
给membership提供程序一个名字,这个名字就是在MOSS管理中心\应用程序管理\验证提供程序中输入的成员身份提供程序名称(如下图)。
type="BoooLee.MDBMembershipProvider, MDBMembershipProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ca2ea65f6309e4f5"
其中BoooLee.MDBMembershipProvider是名字空间和类名,MDBMembershipProvider为程序集名称,分别对应VS2005项目属性设置(如下图)。
filePath="C:\Inetpub\wwwroot\wss\VirtualDirectories\80\Users.txt"
用户帐户文件存放位置,根据Kaneboy的文件格式,我只在该文件中加一行:
booolee:pass@word1
选择用户中的booolee就是Users.txt文本文件中设置的
测试安装通过后,下面就开始陆续编码实现我的OracleMembershipProvider了。。。