sharepoint 基于AD的Form表单身份验证


默认情况,MOSS的身份验证是基于AD的,但是基于AD的用户身份验证较适合于企业的内部中使用,若要在外部网络环境下要访问MOSS网站那么基于AD身份验证的方式就不太适用了,因为要基于AD认证必须要开启些不必要的端口号,所以出于安全原因的考虑,大家就想到基于Form表单的身份验证并将用户的验证的身份信息存储于数据库中,这样就可以解决原来在基于AD认证时带来的不方便!但将MOSS改为Form表单身份验证的前提是需要用户自己创建用户信息,这样也挺麻烦的,有没有一种即可以像AD认证那样不用创建用户且还具有Form表单验证的功能呢?答案的是肯定。

  基于MOSS身份验证除了默认的AD认证,基于Form的表单验证,其实还有一种是基于AD的Form表单身份验证,下面就详细介绍下这种身份验证是如何进行的。。。。

  配置基于AD的Form身份验证所需的宿主Sharepoint网站集(如:http://tecpc:8001)是如何创建的相信大家应该都非常熟悉了,在这小弟就在唠叨了,哈哈。。。直接切入正题

  一、配置Web应用程序的里“身份验证提供程序”

  打开Sharepoint管理中心->应用程序管理->验证提供程序   页面并根据需要修改到相应的Web应用程序,如图1

  点击“默认”,打开编辑验证的页面

  1、修改“验证类型”栏处选择“表单”

  2、“匿名访问”栏处,根据用户需要是否启动网站的匿名访问功能

  3、在“成员身份验证提供程序”栏,输入成员身份验证提供程序名称:AspNetActiveDirectoryMembershipProvider ,这个名称须与Web应用程序所对应的Web.Config里的配置一样即可

  4、保存上述所做的配置

  如图2:

 

  在保存完上述所在的配置之后,返回到“验证提供程序”页面会发现原来的“默认”记录行里的成员身份提供程序名称栏处由原来的"Windows"变成了"AspNetActiveDirectoryMembershipProvider",Web应用程序完成上述这些步骤的配置后就完成了将其改为基于AD的Form表单的身份,你可以试着登录该网站,会发现被导航到输入用户名与密码的登录页面,如图3:

 

  你可试着输入用户名与密码,然后进行登录,会发现你已没有权限登录了就算换成administrator的账号来登录,也是报同样的错误没有权限登录,这是因为现在已将网站修改成了基于AD的Form表单身份验证而不是原来集成身份验证了,之前配置的用户信息是基于Windows的。

  下面还需要经过以下两个步骤的操作后即可解决上面所碰到的问题,请继续往下看吧。。。

  1、修改Web应用程序(http://tecpc:8001)的Web.Config

  打开Web应用程序在虚拟目录下对应的8001文件夹-->Web.Config

  在Web.config文件中的<system.web>一节上面,添加如下配置节:

双击代码全选
1
2
3
< connectionStrings >
    < add   name = "ADCustomService"   connectionString = "LDAP://moss" />
</ connectionStrings >

  其中"ADCustomService"是自定义的名称,将会被后面的配置节所用到。“moss”是所配置的AD的名称

  然后,需要在“<system.web>”节里面添加如下配置节:

双击代码全选
1
2
3
4
5
< membership   defaultProvider = "AspNetActiveDirectoryMembershipProvider" >
 < providers >
< add   name = "AspNetActiveDirectoryMembershipProvider"   type = "System.Web.Security.ActiveDirectoryMembershipProvider,  System.Web, Version=2.0.0.0, Culture=neutral,   PublicKeyToken=b03f5f7f11d50a3a"   connectionStringName = "ADCustomService"   connectionProtection = "Secure"   applicationName = "/_layouts/login.aspx"       connectionUsername = "CONTOSOwssadmin" connectionPassword = "ilove"               attributeMapUsername = "sAMAccountName"           minRequiredPasswordLength = "7"               minRequiredNonalphanumericCharacters = "1"               attributeMapEmail = "mail"         requiresQuestionAndAnswer = "false"  />
 </ providers >
</ membership >

  注意: 

  1)name属性的值不要写错,要和前面一篇设置提供程序时的名称相同。

  2)connectionStringName的值要和上一步ConnectionStrings节中设置的名称相同。

  3)attributeMapUsername、attributeMapEmail的值都是AD中相应的属性名称。

  4) connectionUsername和connectionPassword的值是连接使用的账号与密码。

  5) minRequirePasswordLength和minRequiredNonalphanumericCharacters都是组策略的设置,要根据实际的设置填写。

  添加完成后,保存所做修改。

  2、修改Sharepoint管理中心应用程序的Web.Config,及修改8001端口的Web应用程序的策略

  Sharepoint管理中心应用程序的Web.Config的配置与上面的Web.Config配置的代码是一样,在这里我不就再贴出了,这里着重介绍下如何修改Web应用程序的策略以便添加用户权限。

  打开Sharepoint管理中心->应用程序管理-->Web 应用程序策略   根据需要修改Web应用程序,如图4:

 

  单击“添加用户”-->在选择区域处选择“默认”-->下一步-->在选择用户栏处选择相应的用户名,并在选择相应的权限-->完成,如图5:

 

  此时,在“Web的应用程序策略”界面中,我们就可以看到默认区域添加了一个完全控制的管理账户。同时,通过账户名称前缀,可以看出该账户是由我们的Provider提供的,这时再次访问网站输入用户名与密码后即可登录网站中。

  完成了这两步骤的配置后,就可以解决前面所碰到的登录时没有权限的问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值