5

Chúng tôi đang chạy ứng dụng Web Saas ASP.NET 3.5 sử dụng Xác thực mẫu trên máy chủ công cộng IIS 7.5 với nội dung được bảo vệ cho hàng nghìn người dùng. Chúng tôi cũng có một số ứng dụng con chạy ASP.NET MVC 2.Cách tích hợp xác thực AD + SSO với ứng dụng web đã xác thực của Saas Web được xác thực

Tên người dùng và mật khẩu được lưu trữ trong cơ sở dữ liệu của chúng tôi và mỗi người dùng có vai trò và nhóm được đính kèm, với quyền và quyền truy cập được xác định.

Bây giờ chúng tôi cũng được yêu cầu tạo điều kiện đăng nhập SSO đơn giản qua Active Directory để người dùng không phải nhập tên người dùng và mật khẩu hai lần để đăng nhập. Những người dùng này sẽ bắt nguồn từ các mạng và miền khác nhau.

Không người dùng "đồng bộ hóa" nào được thực hiện từ máy chủ của chúng tôi để phục vụ LDAP. Chúng tôi không chắc chắn rằng mọi giao tiếp với LDAP là cần thiết vì tất cả người dùng sẽ được tạo trong hệ thống của chúng tôi và được duy trì ở đó. Xác thực biểu mẫu sẽ được sử dụng cho hầu hết người dùng của chúng tôi.

Từ đây chúng tôi không chắc chắn đó là con đường tốt nhất để chọn. Đối với kịch bản của chúng tôi, cách thực hành "thực hành tốt nhất" là gì?

+0

Mọi câu trả lời cho câu hỏi của bạn đều có tại đây http://msdn.microsoft.com/en-us/library/ff423674.aspx –

Trả lời

5

Câu trả lời đơn giản là SAML. Nó được coi là "thực hành tốt nhất" và nhiều nhà cung cấp SAAS lớn hỗ trợ nó.

Giao thức SAML xác định luồng đăng nhập một lần giữa nhiều hệ thống. Nó thiết lập sự tin cậy giữa các hệ thống sử dụng chứng chỉ. Ứng dụng của bạn chấp nhận một xác nhận có chứa các thuộc tính (id người dùng, tên, địa chỉ email, v.v.) từ các hệ thống khác. Ứng dụng của bạn sẽ ánh xạ người dùng vào cửa hàng người dùng của bạn.

Trong thế giới .NET có một số tùy chọn. Bạn có thể tìm thấy một thư viện mà thực hiện SAML (ComponentSpace có một) và móc nó vào ASP.NET xác thực. Bạn có thể tạo của riêng bạn bằng cách sử dụng Windows Xác định khung (WIF). Đây là tải trọng của video WIF http://www.cloudidentity.com/blog/2010/06/23/ALL-WILL-BE-REVEALED-7-HOURS-RECORDINGS-FROM-THE-WIF-WORKSHOPS/. Bạn có thể thử IdentityServer http://thinktecture.github.io/

Tùy thuộc vào độ an toàn của ứng dụng, bạn có thể chọn tùy chọn chuyển id người dùng đơn giản từ các mạng tin cậy bằng phương pháp đơn giản. Tôi đã thấy các ứng dụng cho phép id người dùng được gửi qua thông số URL hoặc trường biểu mẫu. Tất nhiên, điều này là không an toàn khủng khiếp, và bạn đang chịu nhiều rủi ro hơn, bởi vì sự tin tưởng giữa hai mạng không được thực thi mã hóa. Bạn có thể giảm thiểu nó bằng cách kiểm tra chuỗi giới thiệu hoặc địa chỉ IP (nếu bạn có thể cô lập phạm vi IP của mạng công ty chẳng hạn). Nhưng bạn vẫn mở để giả mạo vì bất kỳ người dùng nào có thể mạo danh người khác bằng cách thay thế id người dùng trong yêu cầu HTTP.

Có thể nó không trả lời đầy đủ câu hỏi của bạn, nhưng hy vọng chỉ cho bạn đúng hướng.

1

Tôi khuyên bạn nên nhìn vào ADFS 2.0 nó là rất mạnh mẽ về lập bản đồ tuyên bố và làm việc với AD: http://msdn.microsoft.com/en-us/magazine/ee335705.aspx

Những gì bạn sẽ làm cho một dấu hiệu tiêu thụ phần của ứng dụng của bạn sẽ tiếp nhận và phân tích những tuyên bố chính thức trở lại là vào máy chủ web của bạn sau vòng lặp xác thực.

+0

Theo như tôi biết ADFS chỉ hoạt động với AD, vì vậy nó sẽ hoạt động như một IdP nếu chúng tôi giả sử tất cả các nhà cung cấp danh tính đều dựa trên AD. Đối với các LDAP khác, bạn phải tìm các giải pháp khác. ADFS sẽ không hoạt động như bên phụ thuộc vì ứng dụng được đề cập sử dụng SQL làm cửa hàng người dùng. WIF sẽ làm việc mặc dù. – Sergey

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