6

Tôi đang phát triển ứng dụng thử nghiệm để hiển thị các xác nhận quyền sở hữu đã xác thực trong MVC-ASP.net (Visual studio 2013) Tôi đã xác thực từ thư mục hoạt động theo cách sau.Không tìm thấy ánh xạ khóa hợp lệ cho securityToken

1.Thêm dự án mvc mới vào giải pháp. 2.nhấp vào Thay đổi xác thực. 3.chọn tài khoản tổ chức 4.chọn trên cơ sở. url liên kết 5.given 6.URL id ứng dụng

Sau khi chạy ứng dụng tôi nhận được lỗi sau.

WIF10201: Không có ánh xạ khóa hợp lệ tìm thấy cho thẻ bảo mật: 'System.IdentityModel.Tokens.X509SecurityToken' và tổ chức phát hành: 'http://websso.avanade.com/adfs/services/trust'

Lỗi này đang đến chỉ cho liên đoàn này cho liên đoàn khác tôi có thể nhìn thấy tuyên bố .

Sau khi tìm kiếm trên internet, tôi nghĩ rằng đó là sự cố chứng chỉ (vân tay). Nhưng tôi không rõ ràng với các giải pháp.

Ai đó có thể giải thích cho tôi lý do lỗi này xảy ra và giải pháp cho cùng một vấn đề.

Cảm ơn bạn đã thăng cấp !!!

Trả lời

6

Có thể có 2 nguyên nhân gây ra lỗi này.

  1. Thiếu vân tay trong web.config: Lấy vân tay thực tế từ ADFS và đặt trong web.config dưới thẻ vân tay

  2. không phù hợp trong số cổng giữa trang web và ADFS cấu hình: Cập nhật cấu hình ADFS với url chứa số cổng đúng

giải pháp thứ hai cố định nó cho tôi ...

1

tôi chạy vào trong khi điều này t rying để cập nhật một ứng dụng MVC cũ để sử dụng AAD.

Tôi dựa trên các thay đổi về dự án mới được tạo ra với xác thực tổ chức và nhận thấy tôi không có chuỗi kết nối có tên DefaultConnection, mà DatabaseIssuerNameRegistry giả định bạn sẽ làm như vậy và tôi cũng không có một trong các bảng được yêu cầu trong cơ sở dữ liệu.

Sử dụng Vittorio Bertocci của great post with all the details, tôi refactored mã để tích hợp các bảng cơ sở dữ liệu mới, tạo và áp dụng một di dân, và chèn chìa khóa và thuê nhà thích hợp trong mới IssuingAuthorityKeyTenant bảng, tương ứng. Tôi cũng phải đảm bảo thay đổi số DatabaseIssueNameRegistry để sử dụng DbContext hiện tại.

0

Đối với các giải pháp được tạo trong VS2013 trở lên, giải pháp phải chứa logic để tự động cuộn qua các khóa. Không cần phải đặt giá trị trong tệp web.config.

Bạn có thể gặp sự cố này khi di chuyển giải pháp của bạn từ môi trường cục bộ sang môi trường khác. Trong trường hợp đó, bạn có thể sẽ cố gắng trỏ giải pháp của bạn đến một ứng dụng mới trong Azure Active Directory.Kiểm tra như sau:

  • Hãy chắc chắn rằng tất cả các url trong web.config được trỏ đến địa chỉ chính xác không phải là người tự động tạo ra khi bạn cài đặt nó tại địa phương
  • Hủy bỏ tất cả enteries từ bảng IssuingAuthorityKeys. Các phím sẽ tự động mở khi bạn xây dựng lại giải pháp và chạy nó. Trên máy chủ, bạn có thể cần phải thay thế các dll theo cách thủ công để nó làm mới
  • Cuối cùng và quan trọng nhất, xóa tất cả các hàng khỏi bảng Người thuê. Trong lần chạy đầu tiên trên môi trường mới, một Quản trị viên từ Active Directory đang sở hữu phải đăng ký và cho phép ứng dụng.

Nếu giá trị trong cả hai bảng vẫn không được điền tự động sau các bước này, hãy kiểm tra này article để biết các bước về cách lấy giá trị theo cách thủ công.

Các vấn đề liên quan