Chuyển đổi SPWebApplication lệnh không thể chuyển đổi từ Windows yêu cầu SAML trong SharePoint Server 2013

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 3042604
Triệu chứng
Xem xét tình huống sau:
  • Bạn sử dụng Windows yêu cầu xác thực (thông qua Windows thách thức/phản hồi [NTLM] hoặc Kerberos) trong ứng dụng web Microsoft SharePoint Server 2013.
  • Bạn quyết định chuyển đổi nhà cung cấp đáng tin cậy yêu cầu bằng cách sử dụng một nhà cung cấp bảo mật ứng dụng ngôn ngữ đánh dấu kiểm ngôn ngữ SAML dựa trên chẳng hạn như bản ghi dịch vụ liên kết Thư mục Họat động (AD FS).
  • Bạn xem lại các bước trong phần Di trú Windows yêu cầu xác thực dựa trên SAML yêu cầu xác thực trong SharePoint Server 2013 chủ đề trên web site Microsoft Developer Network (MSDN).
  • Bạn chạy lệnh sau:

    Chuyển đổi SPWebApplication-id $wa-để yêu cầu-tin cậy-mặc định - yêu cầu WINDOWS - TrustedProvider $tp - SourceSkipList $csv - RetainPermissions

Trong trường hợp này, bạn nhận được thông báo lỗi sau:

SAML dựa trên yêu cầu xác thực không tương hợp về sau.

Nguyên nhân
Sự cố này xảy ra vì tin nhận dạng mã thông báo hành không được tạo ra bằng cách sử dụng cấu hình mặc định. Cấu hình mặc định phải được sử dụng để Chuyển đổi SPWebApplication lệnh hoạt động bình thường.

Lệnh Chuyển đổi SPWebApplication yêu cầu một cấu hình cụ thể cho các nhà cung cấp đáng tin cậy cho là tương hợp về sau với chuyển đổi từ Windows yêu cầu SAML hoặc ngược.

Cụ thể, tin nhận dạng mã thông báo hành phải được tạo ra bằng cách sử dụng tham số UseDefaultConfigurationIdentifierClaimIs .

Bạn có thể kiểm tra xem bạn tin cậy nhận dạng mã thông báo phát hành được tạo ra bằng cách sử dụng tham số UseDefaultConfiguration chạy tập lệnh Windows PowerShell sau đây.

Lưu ý: Những tập lệnh này giả định rằng bạn chỉ có một nhà cung cấp danh tính tin cậy tạo ra trong nhóm hiện tại.

$tp = Get-SPTrustedIdentityTokenIssuer$tp.claimtypes 

Loại yêu cầu tập lệnh này sẽ ra là như sau:
  • 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 



Yêu cầu nhận dạng phải như sau:
  • WindowAccountName
  • EmailAddress
  • UPN

Ví dụ đầu ra cho $tp. IdentityClaimTypeInformation:
Tên hiển thị: Email
InputClaimType: http://schemas.xmlsoap.org/WS/2005/05/Identity/claims/EmailAddress
MappedClaimType: http://schemas.xmlsoap.org/WS/2005/05/Identity/claims/EmailAddress#IsIdentityClaim : Đúng


Có phải là một nhà cung cấp tuỳ chỉnh yêu cầu có cùng tên với mã thông báo phát hành và nó sẽ loại SPTrustedBackedByActiveDirectoryClaimProvider.
Chạy để xem các nhà cung cấp yêu cầu hiện tại và tương thích:

 $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"}

Giải pháp
Để khắc phục sự cố này, xoá và sau đó tạo lại tin cậy nhận dạng mã thông báo hành. Để thực hiện việc này, hãy làm theo các bước sau:
  1. Chạy lệnh sau:

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

    Tạo đồng gửi của tập lệnh này để tham khảo. Đặc biệt, chúng tôi cần giá trị cho thuộc tính tên phát hành mã thông báo mới có thể được tạo ra bằng cách sử dụng cùng tên, và chúng ta cần nhận dạng yêu cầu để cung cấp xác nhận mới có thể được tạo ra bằng cách sử dụng cho danh tính tương tự. Cùng tên được sử dụng cho nhà cung cấp mã thông báo và cho cùng được sử dụng làm cho danh tính, tất cả người dùng sẽ duy trì quyền của mình trong ứng dụng web sau khi phát hành mã thông báo được tạo lại.

  2. Loại bỏ cung cấp danh tính tin cậy hiện tại từ nhà cung cấp xác thực cho bất kỳ ứng dụng web sử dụng nó.
  3. Xoá phát hành mã thông báo bằng cách chạy lệnh sau:

    Remove-SPTrustedIdentityTokenIssuer -Identity "TheNameOfYourTokenIssuer"

  4. Tái tạo mã thông báo phát hành. Để thực hiện việc này, hãy làm theo các bước trong phần Thực hiện xác thực dựa trên SAML trong SharePoint Server 2013 chủ đề trên web site Microsoft TechNet để biết thêm thông tin.

    Quan trọng Khi bạn chạy các Mới SPTrustedIdentityTokenIssuer lệnh, bạn phải sử dụng các UseDefaultConfigurationIdentifierClaimIs tham số. Các UseDefaultConfiguration không chỉ là một chuyển đổi. Các giá trị cho các IdentifierClaimIs tham số là như sau:
    • TÊN TÀI KHOẢN
    • bức e-mail
    • tên người dùng CƠ BẢN


    Ví dụ lệnh:

    $ap = New-SPTrustedIdentityTokenIssuer -Name $tokenIdentityProviderName -Description $TrustedIdentityTokenIssuerDescription -realm $siteRealm -ImportTrustCertificate $adfsCert-SignInUrl $signInUrl -UseDefaultConfiguration -IdentifierClaimIs EMAIL -RegisteredIssuerName $siteRealm
  5. Trung tâm quản trị, thêm bạn mới tin nhận dạng mã thông báo phát hành trở lại nhà cung cấp xác thực cho các ứng dụng web mà bạn muốn chuyển đổi. ứng dụng web phải cả hai Xác thực Windows và mục tiêu cung cấp danh tính tin cậy chọn.
Thông tin thêm
Additionaltips để chuyển đổi thành công:

Nếu giá trị EMAIL được sử dụng cho mã định danh (tức là, tham sốIdentifierClaimIs), chỉ những người dùng có địa chỉ email được xác định trong Thư mục Họat động sẽ được chuyển đổi.

Bất kỳ tài khoản người dùng được liệt kê trong tệp .csv được xác định trong tham số SourceSkipList sẽ không được chuyển đổi sang SAML. Để chuyển đổi từ Windows yêu cầu SAML, tên tài khoản người dùng có thể được liệt kê có hoặc không có ký hiệu yêu cầu. Ví dụ, hoặc "contoso\user1" hoặc "i:0 #. w|contoso\user1" có thể chấp nhận. Bạn nên thêm vào tệp .csv đó bất kỳ tài khoản người dùng mà bạn không muốn chuyển đổi. Điều này sẽ bao gồm tài khoản bản ghi dịch vụ và tài khoản quản trị viên viên.

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 3042604 - Xem lại Lần cuối: 12/02/2015 12:58:00 - Bản sửa đổi: 2.0

Microsoft SharePoint Foundation 2013, Microsoft SharePoint Server 2013

  • kbexpertiseinter kbprb kbsurveynew kbmt KB3042604 KbMtvi
Phản hồi