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

[经验分享] Sharepoint 2007 表单验证 (一)

[复制链接]

尚未签到

发表于 2015-9-25 09:16:06 | 显示全部楼层 |阅读模式
  郑重声明,如果您会了或者认为这就是垃圾的话,请哈哈大笑之后轻蔑的关闭此页。如果您认为有价值的,就默默的往下看吧。
  打小语文就不好,表达不好,尽量上图,可能这样对我来说更直观。
  
  Sharepoint下的几种验证。
  1. Windows Identity
  2. LDAP
  3. Active Directory
  4. Form Authentication
  这里面要说明的是LDAP下的验证,WSS 3.0是不支持LDAP验证的。因为它要读取GAC下的Microsoft.Office.Server.dll, 这个在WSS 3.0的GAC下是不存在的 (MOSS下的dll)。WSS 2.0的时候是可以通过直接部署 Microsoft.Office.Server到GAC下,然后使用LDAP的,貌似微软发现了这个问题,在WSS 3.0的时候就封死了这个方法。
  前三个验证就略过,基本上通过配置web.config就能连接MOSS.
  
  MOSS 2007或者WSS 2007下表单验证的例子很多,最普遍的就是用ASP.NET下定义好的Membership Provider来进行验证。我想分三部分进行介绍
  1. ASP.NET 默认Membership Provider, Role Provider 与Sharepoint 2007 整合
  2. 自定义Membership Provider 与Sharepoint的整合
  3. 自定义Sharepoint下的PeoplePicker
  
  
  
  首先我们先看第一个ASP.NET默认下的Membership Provider, Role Provider 与Sharepoint的整合.
  1. 运行aspnet_regsql
DSC0000.png
DSC0001.png
DSC0002.png
DSC0003.png
DSC0004.png
  SQL配置完成。
  Database建立后,请给予适当的User Credential.我用的是moss_fba_user,密码是password
  
  新建一个ASP.NET Web Application.
DSC0005.png
  打开web.config



<connectionStrings>
<add name="moss_fba" connectionString="Data Source=moss2007;Initial Catalog=MOSS_FBA;Integrated Security=SSPI;User ID=moss_fba_user;Password=password;"/>
</connectionStrings>
Membership Provider的Config 文件
<membership defaultProvider="AspNetSqlProvider">
<providers>
<clear/>
<add name="AspNetSqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="moss_fba"
enablePasswordRetrieval="true"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
passwordFormat="Encrypted"
requiresUniqueEmail="true"
minRequiredNonalphanumericCharacters="0"
applicationName="/ASP.NET.Membership" />
</providers>
</membership>

  这个Membership是一个没有提问回答,但是要求单一email地址的config.
  这里要注意的是,passwordFormat=”Encrypted”,它是需要machinekey的,所以打开你的WSS或者MOSS的站点的config,复制粘贴那里web.config的machinekey到我们ASP.NET的程序.
  比如我的C:\Inetpub\wwwroot\wss\VirtualDirectories\80下的web.config的key是



<machineKey validationKey="0B3571E625D0ACA939BEA607380821F1170EC60F91A3EFA5" decryptionKey="82E1CF3C245329051E35DCD2C1CC2312D8796FCE779826B9" validation="SHA1" />
  把这行粘贴到你ASP.NET web Application下的web.config
  同时呢,我们启动Role Provider



<roleManager enabled="true">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
connectionStringName="moss_fba"
applicationName="/ASP.NET.Membership"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>

  启动ASP.NET Configuration进行测试。
DSC0006.jpg
  如果失败了,请自行调整你的配置直至测试成功。不成功的话请不要继续一下的内容。
  如果你测试成功了,请继续下面的内容。
  成功后,请建立2个Role,一个叫Administrators,一个叫Users,名字请根据个人爱好随便起。
DSC0007.png
  然后建立两个User,一个是Admin,一个是user1
DSC0008.jpg
  在这里,我们使用一个已经建立好的MOSS的网站,http://moss2007,默认端口是80。
  打开Sharepoint 2007 Central Administration->Application Management->Application Security->Authentication Providers
  抱歉,没有中文的MOSS..
DSC0009.jpg
  选中你要修改的Site,我的是默认的80端口
DSC00010.jpg
  点击Default
DSC00011.png
  请选择Enable Client Integration.
  下面打开
  C:\Inetpub\wwwroot\wss\VirtualDirectories\80的Web.config文件
  添加如下的内容



<connectionStrings>
<add name="moss_fba" connectionString="Data Source=moss2007;Initial Catalog=MOSS_FBA;Integrated Security=SSPI;User ID=moss_fba_user;Password=password;"/>
</connectionStrings>
<authentication mode="Forms">
<forms loginUrl="/_layouts/login.aspx" />
</authentication>
<membership defaultProvider="AspNetSqlProvider">
<providers>
<clear/>
<add name="AspNetSqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="moss_fba"
enablePasswordRetrieval="true"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
passwordFormat="Encrypted"
requiresUniqueEmail="true"
minRequiredNonalphanumericCharacters="0"
applicationName="/ASP.NET.Membership" />
</providers>
</membership>
<roleManager enabled="true">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
connectionStringName="moss_fba"
applicationName="/ASP.NET.Membership"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>

  并修改



<PeoplePickerWildcards>
<clear />
<add key="AspNetSqlProvider" value="%" />
</PeoplePickerWildcards>

  这个key=”AspNetSqlProvider”是跟membership provider的名字AspNetSqlProvider一一对应的。
  然后再打开Central Admin的web.config,个人端口是不一样的,请选择自己Central Admin的端口。
DSC00012.jpg
  同样添加上面和修改上面的内容,但是一定要Disable Role Provider,不然你会进不去Central AdminOperation Management 的页面。不要修改<authentication mode="Windows">这个项。



<connectionStrings>
<add name="moss_fba" connectionString="Data Source=moss2007;Initial Catalog=MOSS_FBA;Integrated Security=SSPI;User ID=moss_fba_user;Password=password;"/>
</connectionStrings>
<membership defaultProvider="AspNetSqlProvider">
<providers>
<clear/>
<add name="AspNetSqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="moss_fba"
enablePasswordRetrieval="true"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
passwordFormat="Encrypted"
requiresUniqueEmail="true"
minRequiredNonalphanumericCharacters="0"
applicationName="/ASP.NET.Membership" />
</providers>
</membership>
<roleManager enabled="false">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
connectionStringName="moss_fba"
applicationName="/ASP.NET.Membership"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
<PeoplePickerWildcards>
<clear />
<add key="AspNetSqlProvider" value="%" />
</PeoplePickerWildcards>

  修改后,Application Management->Sharepoint Site Management->Site collection Administrators
DSC00013.png
  选中你的Site,我的是http://moss2007:80,你会看到这个,主要的Site Admin那个选项提示你是错的,不要慌张,不要迷茫,你快成功了。
DSC00014.jpg
  所搜Admin
DSC00015.jpg
  点击OK,完成。
DSC00016.jpg
  然后我们回到http://moss2007/
DSC00017.png
  使用admin和密码登陆。O了。
DSC00018.jpg
  再次郑重声明,如果您会了或者认为这就是垃圾的话,请哈哈大笑之后轻蔑的关闭此页。如果您认为有价值的,就默默的看吧

运维网声明 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-118475-1-1.html 上篇帖子: sharepoint 开发相关工具总结 下篇帖子: 基于SharePoint 工作流的InfoPath 2010的报修系统的建立:第四章 报修单批准和处理等视图的设计
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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