编写OracleMembershipProvider,让SharePoint2007使用Oralce中的用户数据实现Form验证。 (第一、第二天)

第一天

看了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> 
简单对上面的语句进行描述:

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了。。。
posted @ 2007-01-23 10:42  电电儿  阅读(1951)  评论(3编辑  收藏  举报