基于SharePoint2010的form验证
来源:广州中睿信息技术有限公司
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 1907

一、配置ASP.NET应用程序服务信息的SQL Server数据库

在开始菜单进入 Visual Studio 命令提示(2010) 直接输入aspnet_regsql 回车后

或者:

1. 打开命令提示符。在运行中输入“cmd”,打开Windows的命令提示符。
2. 进入到.Net Framework的安装目录。输入“cd c:/windows/Microsoft .NET/Framework/v2.0.50727”。
3. 输入命令aspnet_regsql。该命令弹出“ASP.NET SQL Server 安装向导”,如下图 1所示。
图 1

mossMOSS

图1

4. 在图 1中点击“下一步”按钮。向导进入“选择安装选项”页,如下图 2所示。

MOSS
图 2

5. 在图 2中,选择“为应用程序服务配置SQL Server”,点击“下一步”。向导进入“选择服务器和数据库”页,如下图 3所示。

moss
图 3

6. 在图 3中,输入“服务器”中输入数据库服务器的名称,选择“SQL Server身份验证”,在数据库中输入“aspnetdb”。点击“下一步”,进入“请确认您的设置”页。如下图 4所示。moss
图 4

7. 在图 4中,确认向导显示的内容和自己输入的内容是否一致,如果不一致,请返回上一步做相应调整。没问题请点“下一步”,向导将创建或修改aspnetdb数据库。顺利完成后,向导将显示“数据库已被创建或修改”,如下图 5所示。如果这一步报错,多半是因为数据库链接或者数据库权限不足导致。

moss图 5

8. 当向导出现图 5页时,说明“配置ASP.NET应用程序服务信息的SQL Server数据库”已经顺利完成。

二、将SharePoint 2010管理中心站点配置为使用SQL Membership提供程序

SharePoint站点默认的都是采用基于AD的身份验证,或许在这里你要问为什么要将SharePoint管理中心配置为表单验证,一般情况下当我们要访问管理中心时并不需要使用表单验证的登录方式啊。确实如此,不需要使用表单验证的方式登录管理中心,但是假如我们需要将某些存储在数据库中的用户设为网站集管理员或其它这一类的操作时,将管理中心配置为使用SQL Membership提供程序就是必不可少的了。

打开IIS管理器,选择“SharePoint Central Administration v4”,此时可以看到在中间的主页上有很多的选项,在这里我们要使用的则是“连接字符串”与“提供程序”,如图6。

moss

图6

首先打开“连接字符串”,在画面右边的操作菜单中点击“添加”以创建一个新的用于连接到我们在上一步中新建的用于存储用户凭据的数据库的连接字符串,并将其命名为FBADB,如图7

moss

图7

接着返回SharePoint Central Administration v4 主页,打开提供程序页,在此我们将为管理中心站点添加角色提供程序与用户提供程序。在“功能”下拉框中选择“.NET角色”,然后点击操作面板内的“添加”新建一个角色提供程序,将其类型设为“SqlRoleProvider”,然后将“ConnectionStringName”这一项设置为上一步中创建的那个连接字符串的名称,如图8

moss

图8

最后还需设置成员身份提供程序,还是在“功能“下拉框中,选择“.NET用户”,然后添加一个用户提供程序,其类型为“SqlMembershipProvider”,并且同样将连接字符串设置为我们刚刚新建的那条,如图9

10.jpg

图9

现在管理中心的有关配置已经完成了,我们可以打开管理中心的web.config文件来检查下所修改的内容。web.config中将多出以下内容。

 

<roleManager>

            <providers>

                <add name="FBARoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" />

            </providers>

        </roleManager>

        <membership>

            <providers>

                <add name="FBAMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" enablePasswordReset="true" enablePasswordRetrieval="true" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />

            </providers>

        </membership>

 

<connectionStrings>

        <addconnectionString="Server=steven-pc;Database=aspnetdb;User ID=FBALogin;Password=FBALogin" name="FBADB" />

    </connectionStrings>

 

将Security Store Service配置为使用SQL Membership提供程序

还是在IIS管理器中,在左侧的连接面板中选择“SharePoint Web Services”应用程序下的“SecurityTokenServiceAppliaation”,接下来的操作过程与刚刚配置管理中心站点的过程完全相同,如图10。

moss

图10

配置完成后可在其web.config文件中看到新加入了如下内容。

 

    <system.web>

        <roleManager>

            <providers>

                <add name="FBARoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" />

            </providers>

        </roleManager>

        <membership>

            <providers>

                <add name="FBAMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" enablePasswordReset="true" enablePasswordRetrieval="true" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />

            </providers>

        </membership>

</system.web>

 

<connectionStrings>

        <add connectionString="Server=steven-pc;Database=aspnetdb;User ID=FBALogin;Password=FBALogin" name="FBADB" />

</connectionStrings>

 

三、创建SharePoint应用程序
1. 打开SharePoint 2010管理中心,如下图 11所示。

moss
图 11

2. 点击“管理Web应用程序”链接,进入“Web应用程序管理”页面,在该页面中,点击功能区中的“新建”按钮,页面弹出“新建Web应用程序”对话框。如下图 12所示。

moss
图 12

3. 在“验证”中,务必选择“基于声明的身份验证”,因为只有基于声明的身份验证才支持ASP.NET 表单验证方式。
4.
在IIS网站中,选择“新建IIS网站”,名称栏保持系统默认即可。设置结果如上图 7所示。

MOSS
图 13

5. 在“安全性配置”中,默认即可。如上图 13所示。

moss
图 14

6. 在“声明身份验证类型”中,如果采用混合身份验证,即既启用Windows验证,又启用表单验证,则可以保持“启用Windows验证”勾选。
7. 选中“启用基于窗体的身份验证(FBA)”,在“ASP.NET成员身份提供程序名称”输入“FBAMembershipProvider”;在“ASP.NET 角色管理器名称”输入“FBARoleProvider”。这两个提供程序名称需要和后面修改Web.config文件的成员身份验证提供程序名称相同。如上图 14所示。

moss
图 15

8. 在“共用URL”中,保持默认即可,如上图 15所示。
9. 在“应用程序池”中,选择“新建应用程序池”,在“应用程序池名称”中输入“SharePoint – 82”(和端口号保持一致即可)。建议选择“可配置帐户”,应用程序池进程将在此帐户下运行。如上图 15所示。

moss
图 16

10. 在“数据库名称和验证”中,输入“数据库服务器”名称,和“数据库名称”,建议数据库名称加方便区分其他数据库的前缀,比如“WSS_Content_”,这样,您在安装多个SharePoint服务器共用同一数据库服务器时,方便区分数据库用途。如上图 16所示。
11. “故障转移服务器”和“搜索服务器”可暂时不配置。

moss
图 17

12. 在“服务应用程序连接”中,选择默认即可。如上图 17所示。
13.
在“客户体验改善计划”中,根据自己喜好选择即可。
14. 建议再次检查一遍该对话框中所有设置内容,然后点击“确认”。SharePoint会自动创建Web应用程序,创建完毕后,会显示如下图 13所示对话框。

 

15.配置好应用程序的Web.config后再创建网站集,红色部分为须在Web.config中配置的部分。

<membership defaultProvider="i">

      <providers>

        <add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

    <add name="FBAMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" enablePasswordReset="true" enablePasswordRetrieval="true" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />

      </providers>

    </membership>

    <roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false">

      <providers>

        <add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

    <add name="FBARoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" />

      </providers>

    </roleManager>

 

<connectionStrings>

       <add connectionString="Server=steven-pc;Database=aspnetdb;User ID=FBALogin;Password=FBALogin" name="FBADB" />

  </connectionStrings>

 

16.完成上述步骤的设置,就可以创建网站集了,凡是在新建的Web应用程序下面的网站,均支持表单验证。

创建好的网站在时,会显示登录页面,如下图 18所示,在下拉框中可以选择Windows验证或表单验证。

moss图18

选择表单验证,登录页面如下图19

moss

图19

登录系统后,看到如下图 20所示网站主页。在页面的右上角会显示当前登录用户。如要切换当前用户,可以点击用户名,弹出菜单中选择“以其他用户身份登录”,页面会回到登录页面。

moss

图20

本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。