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

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


  • 相关阅读:
    149. Max Points on a Line(js)
    148. Sort List(js)
    147. Insertion Sort List(js)
    146. LRU Cache(js)
    145. Binary Tree Postorder Traversal(js)
    144. Binary Tree Preorder Traversal(js)
    143. Reorder List(js)
    142. Linked List Cycle II(js)
    141. Linked List Cycle(js)
    140. Word Break II(js)
  • 原文地址:https://www.cnblogs.com/cwyang/p/5015207.html
Copyright © 2011-2022 走看看