Applies ToSharePoint Foundation 2013 SharePoint Server 2013

Симптоми

Обмислете следния сценарий:

  • Използвате Windows – искове за удостоверяване (чрез Windows Challenge/response [NTLM] или Kerberos) в уеб приложение на Microsoft SharePoint Server 2013.

  • Решите да преминете към искове на надеждни доставчици с помощта на доставчик на защитен език за маркиране на приложения (SAML), като например услуги на Active Directory (AD FS).

  • Можете да прегледате стъпките в мигрирането на Windows искове за удостоверяване към базирано на SAML удостоверяване на искове в SharePoint Server 2013 тема на уеб сайта на Microsoft Developer NETWORK (MSDN).

  • Изпълните следната команда:

    CONVERT-SPWebApplication-ID $wa-to искове-надежден-DEFAULT-from искове-WINDOWS-TrustedProvider $tp-SourceSkipList $csv-RetainPermissions

В този случай получавате следното съобщение за грешка:

Удостоверяването на базата на SAML не е съвместимо.

Причина

Този проблем възниква, тъй като ИД на надежден знак за самоличност не е създаден с помощта на конфигурацията по подразбиране. Настройката по подразбиране трябва да се използва за командата Convert-SPWebApplication , за да работи правилно. Командата Convert-SPWebApplication изисква специфична конфигурация за надежден доставчик, за да бъде съвместима с преобразуването от Windows, което се отнася за SAML и обратно. По-конкретно трябва да се създаде надежден знак за самоличност, като се използват параметрите UseDefaultConfiguration и IdentifierClaimIs . Можете да проверите дали вашият надежден издател на маркери за самоличност е създаден с помощта на параметъра UseDefaultConfiguration , като изпълните следните скриптове на Windows PowerShell.Забележка: Тези скриптове предполагат, че имате само един надежден доставчик на самоличност, създаден в текущата сървърна група.

$tp = Get-SPTrustedIdentityTokenIssuer$tp.claimtypes 

Типовете искове, които трябва да се извеждат от този скрипт, са следните:

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn

#Get the Identity claim:$tp = Get-SPTrustedIdentityTokenIssuer$tp.IdentityClaimTypeInformation 

Твърдението за самоличност трябва да бъде едно от следните:

  • WindowAccountName

  • EmailAddress

  • UPN

Примерна продукция за $tp. IdentityClaimTypeInformation: DisplayName: имейл InputClaimType: http://schemas.xmlsoap.org/ws/2005/05/Identity/Claims/EmailAddressMappedClaimType: http://schemas.xmlsoap.org/ws/2005/05/Identity/Claims/EmailAddress#IsIdentityClaim : True трябва да има доставчик на искове по избор със същото име като този на маркера и трябва да бъде от тип SPTrustedBackedByActiveDirectoryClaimProvider. Изпълнете това, за да видите дали доставчикът на искове е наличен и съвместим:

 $tp = Get-SPTrustedIdentityTokenIssuer$name = $tp.name$cp = Get-SPClaimProvider $nameif($cp.typename -match "SPTrustedBackedByActiveDirectoryClaimProvider"){write-host "Claim provider is present and has TypeName of " $cp.typename " it should be valid"}else{write-host "Claim provider is not present. Trusted Identity Token Issuer" $tp.name " is not compatible with convert-spwebapplication"}

Решение

За да отстраните този проблем, изтрийте и след това създайте отново надежден маркер за самоличност. За да направите това, изпълнете следните стъпки:

  1. Изпълнете следния сценарий:

    $tp = Get-SPTrustedIdentityTokenIssuer$tp | fl$tp.name$tp.IdentityClaimTypeInformation

    Направете копие на резултата от този скрипт за бъдещи справки. По-специално ни трябва стойността за свойството Name, така че да може да се създаде нов маркер за емитент с помощта на едно и също име и ни е нужен този иск за самоличност, така че да може да бъде създаден доставчикът на нови искове с помощта на една и съща претенция за самоличност. Докато се използва същото име за издателя на маркери и същото твърдение се използва като претенция за самоличност, всички потребители ще запазят разрешенията си в рамките на уеб приложението, след като издателят на маркери бъде създаден отново.

  2. Отстранете текущия доставчик на надеждни идентификационни данни от доставчици на удостоверяване за всяко уеб приложение, което в момента го използва.

  3. Изтрийте маркера емитент, като изпълните следната команда:

    Remove-SPTrustedIdentityTokenIssuer -Identity "TheNameOfYourTokenIssuer"
  4. Създайте повторно маркера емитент. За да направите това, следвайте стъпките в реализирането на базирано на SAML удостоверяване в SharePoint Server 2013 тема на уеб сайта на Microsoft TechNet за повече информация.Важно Когато стартирате командата New-SPTrustedIdentityTokenIssuer , трябва да използвате параметрите UseDefaultConfiguration и IdentifierClaimIs . Параметърът UseDefaultConfiguration е само превключвател. Възможните стойности за параметъра IdentifierClaimIs са следните:

    • ИМЕ НА АКАУНТ

    • ИМЕЙЛ

    • USER-ПРИНЦИПАЛ-NAME

    Примерен скрипт:

    $ap = New-SPTrustedIdentityTokenIssuer -Name $tokenIdentityProviderName -Description $TrustedIdentityTokenIssuerDescription -realm $siteRealm -ImportTrustCertificate $adfsCert-SignInUrl $signInUrl -UseDefaultConfiguration -IdentifierClaimIs EMAIL -RegisteredIssuerName $siteRealm
  5. В централното администриране Добавете свой нов надежден маркер за идентификация на самоличността обратно към доставчиците за удостоверяване за уеб приложението, което се опитвате да конвертирате. Уеб приложението трябва да има както удостоверяване на Windows, така и целеви доставчик на надеждна самоличност.

Повече информация

Допълнителни съвети за успешно конвертиране: Ако се използва стойността за имейл за претенцията за идентификатор (това е за параметъра IdentifierClaimIs ), ще бъдат конвертирани само онези потребители, чиито имейл адреси са попълнени в Active Directory. Всеки потребителски акаунт, който е посочен в. CSV файла, който е дефиниран в параметъра SourceSkipList , няма да бъде конвертиран в SAML. За конвертиране от Windows вземания към SAML имената на потребителските акаунти могат да се показват в списъка със или без Нотацията за претенции. Например "contoso\user1" или "i:0 #. w | contoso\user1" е приемливо. Трябва да добавите към този. csv файл всеки потребителски акаунт, който не искате да бъде конвертиран. Те трябва да включват акаунти за услуги и акаунти на администратор.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.