基于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
>
</
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提供的,这时再次访问网站输入用户名与密码后即可登录网站中。
完成了这两步骤的配置后,就可以解决前面所碰到的登录时没有权限的问题了。