blog

SharePoint 2013 Issue - After migration from 2010 user permission not working

Published on
2 minute read

Users coming from a SharePoint 2010 system that try to access SharePoint 2013 after a migration receive a “this site has not been shared with you” message. This mean that they are not able to authenticate to SharePoint 2013.

Further you see authentication issues with user profiles not matching recent changes to Active Directory.

Applies to

Findings

Man this was a hard one. I was searching for ages and pulling my hair out when Tushar Malu  found some awesome information that saved my bacon.

In SharePoint 2013 there is a new authentication mechanism called Claim based authentication. Be default through the UI all Applications are created in this mode. There is a way to create web applications that use classic mode authentication in SharePoint 2013  but if you have already created your application tier and you import a Collection from a SharePoint 2010 server then you might find that no one can access your server at all.

After you have imported your SharePoint 2010 data into SharePoint 2013  with the “Mount-SPContentDatabase” command you then need to update all of the user accounts as per:

This while fairly simple is a little difficult to fins and figure out and I spent many hours trying to configure SharePoint User Profile Synchronisation to no avail. In fact all you need is a simple PowerShell to do the synchronisation.

Solution

Although finding this was not simple the execution is. I created a PowerShell script that loops through all of your SharePoint 2013 web applications and upgrades each one to claim’s based authentication.

 Param(
    [string]  $account = $(Read-Host -prompt "UserAccount")
    )
Add-PSSnapIn Microsoft.SharePoint.PowerShell

foreach ($wa in get-SPWebApplication)
{
    Write-Host "$($wa.Name) | $($wa.UseClaimsAuthentication )"
    #http://technet.microsoft.com/en-us/library/gg251985.aspx
    $wa.UseClaimsAuthentication = $true
    $wa.Update()
    $account = (New-SPClaimsPrincipal -identity $account -identitytype 1).ToEncodedString()
    $zp = $wa.ZonePolicies("Default")
    $p = $zp.Add($account,"PSPolicy")
    $fc=$wa.PolicyRoles.GetSpecialRole("FullControl")
    $p.PolicyRoleBindings.Add($fc)
    $wa.Update()
    $wa.MigrateUsers($true)
    $wa.ProvisionGlobally()
}

These commands tool less than 10 minutes to run on 3 content databases with nearly 100GB of data. In addition some bright spark had added “NT AuthorityAuthenticated Users” to one of the main sites ‘”Contributors” group. While this sounds like something that I would do, if I had done it I would have added them to “Readers”…

install-and-configuration problems-and-puzzles blog code configuration powershell puzzles sharepoint sharepoint-2013

Related blog posts

No related videos found.

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Workday Logo
Lockheed Martin Logo
ProgramUtvikling Logo
Xceptor - Process and Data Automation Logo
Philips Logo
Alignment Healthcare Logo
ALS Life Sciences Logo
Schlumberger Logo
DFDS Logo
New Signature Logo
Milliman Logo
Higher Education Statistics Agency Logo

CR2

Epic Games Logo
Capita Secure Information Solutions Ltd Logo
Qualco Logo
Microsoft Logo
Akaditi Logo
Nottingham County Council Logo
Royal Air Force Logo
Washington Department of Enterprise Services Logo
Department of Work and Pensions (UK) Logo
Washington Department of Transport Logo
Ghana Police Service Logo
Xceptor - Process and Data Automation Logo
Illumina Logo
Akaditi Logo
Genus Breeding Ltd Logo
Lockheed Martin Logo
Workday Logo