码迷,mamicode.com
首页 > Web开发 > 详细

SharePoint 2010升级到sharePoint 2013后,人员失去对网站的权限的原因及解决方法。The reason and solution for permission lost after the upgrading

时间:2015-12-03 11:37:31      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

昨天碰到了一个问题,一个网站在从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]


SharePoint 2010升级到sharePoint 2013后,人员失去对网站的权限的原因及解决方法。The reason and solution for permission lost after the upgrading

标签:

原文地址:http://www.cnblogs.com/cwyang/p/5015207.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!