标签:
昨天碰到了一个问题,一个网站在从SharePoint 2010升级到SharePoint 2013后,人员都不能登录了,必须重加赋权,人员才能登录,这样非常麻烦。
原因:是认证方式的问题。在SharePoint 2010中,通过管理中心新建web application的时候,就会发现提供了两种不同的认证方式,第一种是classic auth(也就是我们通俗的称为windows 认证,其实这种叫法也不全面),另一种是claim base auth。 而当时claim base的认证方式微软还没有大力推荐,所以当时新建的web application大部分还是基于最基本的windows认证。
而到了SharePoint 2013的时候,微软已经开始大力推荐claim base的认证方式,并且在新建web application的时候已经去掉了选择windows 认证的界面,而默认直接让所有的web application都采用claim base的认证方式。这也就是为什么在SharePoint中我们的用户名前面可能会有“i:0#.w|”这种符号的原因。
而正是以上的原因,造成了升级后人员没有权限了。因为2010的站点用的windows认证,2013的站点用的claim base的认证。当然具体是不是这个原因你分别这两个版本的SharePoint的web application一看便知。
解决方法:
第一种:在SharePoint 2010中将认证方式改为claim base的,然后还原到SharePoint中。(这种方法我觉得不太可取,因为要尽量保留原系统的完整性,万一失败就不好了。)
第二种方法:
1. 用命令行在SharePoint 2013的环境中新建一个以classic auth(windows 认证)为认证方式的web application.
New-SPWebApplication -name "ClassicAuthApp" -Port 100 -ApplicationPool "ClassicAuthAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "<domainname>\<user>")
要注意修改上面的参数,用您自己的名字和端口。
2. 将您sharePoint 2010的站点的数据库绑定到SharePoint 2013新建的web application上面
Mount-SPContentDatabase "<ContentDb>" -DatabaseServer "<DbServer>" -WebApplication http://webappurl
3. 将SharePoint 2013还原回来的web application转化成claim base认证的方式
Convert-SPWebApplication -Identity <yourWebAppUrl> -To Claims -RetainPermissions [ -Force]
标签:
原文地址:http://www.cnblogs.com/cwyang/p/5015207.html