• 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]


  • 相关阅读:
    2021.1.11
    2021.1.10(每周总结)
    2021.1.9
    2021.1.8
    2021.1.7
    构建之法阅读笔记01
    [java] XML DTD XSD
    详解 泛型 与 自动拆装箱
    详解 正则表达式
    详解 LinkedHashMap
  • 原文地址:https://www.cnblogs.com/cwyang/p/5015207.html
Copyright © 2020-2023  润新知