设为首页 收藏本站
查看: 754|回复: 0

[经验分享] 在SharePoint Server 2007中创建定制的用户管理模块

[复制链接]
YunVN网友  发表于 2019-2-5 06:41:38 |阅读模式
  在SharePoint Portal Server 2003的时代,它被说得最多的一个问题就是其用户系统必须使用Active Directory,我们必须在域里面为用户创建相应的AD账号,然后才能将AD账号添加为SharePoint站点用户。如果企业已经部署了AD,那么这不会是一个多大的问题(反而会成为其一个优点),但是对于没有部署AD的企业,或者要将SharePoint站点发布到Internet上的场景,这就是一个不小的问题了。

幸好SharePoint Server 2007中已经完全支持定制的用户管理模块,它使用了ASP.NET 2.0的Membership Provider机制来作为其用户管理的底层机制,这样就带给了我们非常大的灵活性。假如在企业中已经存在了一套用户认证系统(比如某某LDAP服务器,或者某某OA系统),那么我们可以很容易的让SharePoint Server 2007使用同一套用户认证系统,这样,SharePoint Server 2007本身不必要存储用户的信息。当然,通过Membership Provider机制,你也可以将用户名和密码保存在某一个数据源中(比如SQL Server数据库)。

首先,我们要用Visual Studio 2005编写一个定制的Membership Provider,方法我就不多说了,MSDN和网络上都有足够详细的文档来描述如何创建一个Membership Provider。你要做的仅仅是创建一个普通的类,然后让它继承自System.Web.Security.MembershipProvider,然后再实现所有需要实现的方法即可。实际上,SharePoint Server 2007并不会使用每一个方法,如果我记得没错的话,它主要调用的方法包括:FindUsersByName(), GetAllUsers(), GetUser(), ValidateUser()等。

为了说明问题,配合演示,我编写了一个最简单的TextFileMembershipProvider,将编译得到的程序集部署到服务器的GAC中。TextFileMembershipProvider从一个文本文件中得到用户的用户名和密码信息,这个文本文件就如下图所示:



  

然后打开要使用这个TextFileMembershipProvider的SharePoint站点集所对应的IIS网站的磁盘根目录下的web.config文件,在“”节点下面添加相应的MemberShip节点:


  
   
  


然后打开“SharePoint 3.0管理中心”所对应IIS网站的磁盘根目录下的web.config文件,如上面所说的再做一遍。

看到这里,你可能要犯嘀咕了,在SharePoint站点集的web.config上添加这个membership说明嘛,还有些道理,因为我们要在这个站点集上使用这个定制的用户管理模块嘛,但是对“SharePoint 3.0管理中心”这个站点的web.config下手又有和用意呢?简单说来这是因为,我们必须要让“SharePoint 3.0管理中心”这个站点也能够识别TextFileMembershipProvider所提供的用户信息,后面有这么做的详细理由。

执行一下iisreset之后,用IE打开“SharePoint 3.0管理中心”,然后在“应用程序管理”中找到“验证提供程序”,点击进去,然后更改上方的“Web应用程序”为我们希望使用TextFileMembershipProvider的SharePoint站点集所使用的Web应用程序,然后点击页面上的“默认”链接,在出现的更改页面中输入我们想要这个Web应用程序使用的MembershipProvider的名字,同时将验证类型改成表单验证(Forms验证),确定即可。



  

改完之后,验证提供程序配置界面中就会显示我们的Web应用程序使用的,是“TextFileMembershipProvider”啦。



  

现在,那个想定制的SharePoint站点已经使用我们编写的TextFileMembershipProvider了,但是,我们会遇到一个问题,如果我们现在去访问那个站点,那么那个站点会要求我们登录,但是由于到现在为止,TextFileMembershipProvider能够提供的任何一个用户都不是那个站点的用户,也就说在那个SharePoint站点中没有任何权限,所以我们总是不能登录到那个SharePoint站点中。

解决这个问题的方法,就是在管理中心的“Web应用程序的策略”中,配置一个TextFileMembershipProvider能提供的用户对那个SharePoint站点具有完全控制的权限,然后我们就可以使用那个用户登录到SharePoint站点中了。顺便说一下,“Web应用程序的策略”中配置的用户权限信息,具有最大的优先权。

在管理中心里面打开“应用程序管理”页面上的“Web应用程序的策略”链接,然后点击“添加用户”,选对要定制的Web应用程序,然后在下面的选择区域下拉框中选中“默认”,“下一步”。



  

在“用户”文本框中输入通过TextFileMembershipProvider能够获取一个用户名,然后点击一下下面的“检查名称”,如果配置没有问题,这时SharePoint Server 2007是能够通过TextFileMembershipProvider来确认这个用户的信息的(这也就是我们需要在“SharePoint 3.0管理中心”的web.config中也加上“TextFileMembershipProvider”配置项的原因,否则在这里,“SharePoint 3.0管理中心”不会认通过“TextFileMembershipProvider”提供的用户),然后选中页面下方的“完全控制”,“完成”。



  

现在,我们就可以访问要定制的SharePoint站点了,由于它被配置为使用表单验证,所以当我们访问它时,会自动被引导到一个登录页面。如果没有看到下面的登录页面,确认一下SharePoint站点的web.config文件中有如下的配置项:


  




  

填入正确的用户名和密码(在我的这个演示里面,就是那个文本文件中的用户信息,呵呵),然后就可以登录到SharePoint站点中了。



  

接着,你就可以到SharePoint站点的站点设置的用户管理里面,为这个站点添加更多的用户了。

怎么样,是不是很容易呢?创建定制的用户组管理模块的方法和这一样,为它编写一个定制的RoleProvider,然后在web.config中添加相应的配置项即可。

演示所用的TextFileMembershipProvider源码下载
ASP.NET 2.0 Membership介绍(博客园hfj1223著)
TextFileMembershipProvider源码下载





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-671927-1-1.html 上篇帖子: 如何禁止掉SharePoint页面个性化?(续) 下篇帖子: 免费课程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表