难以置信近义词:基于AD的Form表单身份验证

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 04:48:07
 默认情况,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文件中的一节上面,添加如下配置节:

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

 

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

  然后,需要在“”节里面添加如下配置节:

双击代码全选 1 2 3 4 5 "AspNetActiveDirectoryMembershipProvider">   "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="CONTOSO\wssadmin"connectionPassword="ilove"             attributeMapUsername="sAMAccountName"         minRequiredPasswordLength="7"             minRequiredNonalphanumericCharacters="1"             attributeMapEmail="mail"       requiresQuestionAndAnswer="false" />  

 

  注意: 

  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提供的,这时再次访问网站输入用户名与密码后即可登录网站中。

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