在SharePoint Server 2007中世界中,如果我们想在一个Web应用程序中并存多种验证机制,只能通过“扩展Web应用程序”来实现,这种方式实现上是通过不同的应用程序来交互同一内容数据库。但是在SharePoint 2010中,我们看到了新的身份验证机制。我们在新建Web应用程序时看到了两种不同的身份验证方式:基于声明的身份验证、经典模式身份验证。
一、两种验证的区别
1、基于声明的身份验证
此方式完全集成Windows集成身份验证,如果选择了这种方式,该Web应用程序将不能开启FBA(基于表单的身份验证),除非使用SharePoint2007时代所使用的扩展Web应用程序的方式。值得注意的是,当我们使用基于声明的身份验证方式创建了一个Web应用程序后,如果想改变这种验证机制,则需要使用PowerShell命令行来进行更改。并且,这一操作是不可逆的。
2、经典模式身份验证
一种基于Windows Identity Foundation的全新身份验证机制。他可以让我们通过表单来进行基于Windows的身份验证,并且让我们的应用程序支持同一Url地址的多种身份验证模式并存。
当选“经典模式身份验证”选项后,发现和之前SharePoint 2007无任何区别。那么新的身份验证方式一定就是“基于声明的身份验证”。当选择了“基于声明的身份验证”选择后,具体后面的选项确实有所不同,新增了“声明身份验证类型”的控制结点。
在该结点中,我们可以看到至少有两种的身份验证方式可以并存于同一应用程序中。(注:当取消掉“启用Windows验证”后会有警告信息:“如果未在此 Web 应用程序的任何区域上选择 Windows 验证,将禁用对此 Web 应用程序的爬网。)
在“ASP.NET 成员身份提供程序名称”中填写:Demo-MembershipProvider
在“ASP.NET 角色管理器名称”中填写:Demo-MembershipProvider
下面我们要手动配置三个位置的Web.config文件他们分别为:要开启FBA的Web应用程序、管理中心以及SecurityTokenServiceApplication服务程序(%programfiles%\common files\Microsoft Shared\web server extensions\14\WebServices\SecurityToken)
未完待续