Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Triệu chứng

Hãy xem xét tình huống sau:

  • Bạn sử dụng xác thực Windows-tuyên bố (thông qua Windows Challenge/Response [NTLM] hoặc Kerberos) trong ứng dụng web Microsoft SharePoint Server 2013.

  • Bạn quyết định chuyển sang các yêu cầu nhà cung cấp tin cậy bằng cách sử dụng một nhà cung cấp dịch vụ được đánh dấu bằng ứng dụng bảo mật, chẳng hạn như các dịch vụ liên kết Active Directory (AD FS).

  • Bạn xem lại các bước trong quá trình di chuyển của Windows, yêu cầu xác thực về xác thực tuyên bố dựa trên SAML trong chủ đề SharePoint Server 2013 trên website Microsoft Developer Network (MSDN).

  • Bạn chạy lệnh sau đây:

    Chuyển đổi-SPWebApplication-ID $wa-để yêu cầu-đáng tin cậy-mặc định-từ khiếu nại-WINDOWS-TrustedProvider $tp-SourceSkipList $csv-thuộc hạ quyền

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

Xác thực dựa trên yêu cầu SAML không tương thích.

Nguyên nhân

Vấn đề này xảy ra vì nhà phát hành mã thông báo danh tính đáng tin cậy không được tạo bằng cách sử dụng cấu hình mặc định. Cấu hình mặc định phải được dùng cho lệnh chuyển đổi-SPWebApplication để hoạt động đúng cách. Lệnh chuyển đổi-SPWebApplication yêu cầu một cấu hình cụ thể cho nhà cung cấp tin cậy để nó tương thích với việc chuyển đổi từ Windows tuyên bố đến SAML hoặc ngược lại. Cụ thể, nhà phát hành mã thông báo danh tính đáng tin cậy phải được tạo bằng cách sử dụng các tham số Usedefaultconfiguration và IdentifierClaimIs . Bạn có thể kiểm tra xem nhà phát hành mã thông báo danh tính đáng tin cậy của bạn đã được tạo bằng cách sử dụng tham số Usedefaultconfiguration bằng cách chạy các script Windows PowerShell sau.Lưu ý: Những script này giả định rằng bạn chỉ có một nhà cung cấp danh tính đáng tin cậy được tạo trong trang trại hiện tại.

$tp = Get-SPTrustedIdentityTokenIssuer$tp.claimtypes 

Các loại tuyên bố rằng tập lệnh này sẽ là đầu ra 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 là một trong những thao tác sau đây:

  • WindowAccountName

  • EmailAddress

  • UPN

Ví dụ về đầu ra cho $tp. IdentityClaimTypeInformation: DisplayName: email InputClaimType: http://schemas.xmlsoap.org/WS/2005/05/Identity/claims/EmailAddressMappedClaimType: http://schemas.xmlsoap.org/WS/2005/05/Identity/claims/EmailAddress#IsIdentityClaim : True nên có một nhà cung cấp yêu cầu thông báo tùy chỉnh có cùng tên với nhà phát hành mã thông báo, và cần loại SPTrustedBackedByActiveDirectoryClaimProvider. Chạy điều này để xem liệu nhà cung cấp khiếu nại có hiện diện và tương thích không:

 $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

Để giải quyết vấn đề này, hãy xóa và sau đó tạo lại các nhà phát hành mã thông báo danh tính đáng tin cậy. Để thực hiện việc này, hãy làm theo các bước sau:

  1. Chạy kịch bản sau đây:

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

    Tạo một bản sao của đầu ra của tập lệnh này để tham khảo trong tương lai. Đặc biệt, chúng tôi cần giá trị cho thuộc tính Name để có thể tạo một nhà phát hành mã thông báo mới bằng cách sử dụng cùng tên và chúng tôi cần yêu cầu nhận dạng để nhà cung cấp yêu cầu bồi thường mới có thể được tạo bằng cách sử dụng cùng một yêu cầu nhận dạng. Miễn là cùng tên được dùng cho các nhà phát hành mã thông báo và yêu cầu thông báo đó được dùng làm yêu cầu nhận dạng, tất cả người dùng sẽ duy trì quyền của họ 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ỏ nhà cung cấp nhận dạng tin cậy hiện tại khỏi nhà cung cấp xác thực cho bất kỳ ứng dụng web nào hiện đang sử dụng.

  3. Xóa bỏ nhà phát hành mã thông báo bằng cách chạy lệnh sau đây:

    Remove-SPTrustedIdentityTokenIssuer -Identity "TheNameOfYourTokenIssuer"
  4. Tạo lại các nhà phát hành mã thông báo. Để thực hiện điều này, hãy làm theo các bước trong xác thực thực hiện SAML dựa trên chủ đề SharePoint Server 2013 trên trang web Microsoft TechNet để biết thêm thông tin.Quan trọng Khi bạn chạy lệnh mới-Sptrustedidentitytokentđótconfiguration , bạn phải sử dụng các tham số Usedefaultconfiguration và IdentifierClaimIs . Tham số Usedefaultconfiguration chỉ là một khóa chuyển. Các giá trị có thể có cho tham số IdentifierClaimIs như sau:

    • TÀI KHOẢN-TÊN

    • ÑÒA

    • NGƯỜI DÙNG-HIỆU TRƯỞNG-TÊN

    Kịch bản ví dụ:

    $ap = New-SPTrustedIdentityTokenIssuer -Name $tokenIdentityProviderName -Description $TrustedIdentityTokenIssuerDescription -realm $siteRealm -ImportTrustCertificate $adfsCert-SignInUrl $signInUrl -UseDefaultConfiguration -IdentifierClaimIs EMAIL -RegisteredIssuerName $siteRealm
  5. Trong quản trị Trung tâm, hãy thêm một nhà phát hành mã thông báo danh tính tin cậy mới của bạn trở về nhà cung cấp xác thực cho ứng dụng web mà bạn đang tìm cách chuyển đổi. Ứng dụng web phải có cả xác thực Windows và nhà cung cấp danh tính tin cậy đích được chọn.

Thông tin Bổ sung

Các mẹo bổ sung để chuyển đổi thành công: nếu giá trị EMAIL được dùng cho yêu cầu mã định danh (nghĩa là, đối với tham số IdentifierClaimIs ), chỉ những người dùng có địa chỉ email được tích hợp trong Active Directory sẽ được chuyển đổi. Bất kỳ tài khoản người dùng nào được liệt kê trong tệp. CSV được xác định trong tham số SourceSkipList sẽ không được chuyển đổi thành SAML. Để được chuyển đổi từ Windows tuyên bố đến 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 tuyên bố. Ví dụ, "contoso\user1" hoặc "i:0 #. w | contoso\user1" được 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 nào mà bạn không muốn chuyển đổi. Những điều này bao gồm tài khoản Dịch vụ và tài khoản người quản trị.

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×