Kịch bản của tôi là ứng dụng 3 tầng trong đó tầng dữ liệu là cơ sở dữ liệu SQL Server, tầng giữa là ứng dụng WCF được lưu trữ trong Dịch vụ Windows và cuối cùng là bản trình bày là ứng dụng Asp.Net MVC .WCF/ASP.NET Authentication
Như thường lệ, tầng giữa là lớp thực hiện tất cả logic nghiệp vụ. Truy cập cơ sở dữ liệu, xác định quy tắc kinh doanh .. v.v.
Được rồi, cho đến nay rất tốt! NHƯNG bây giờ đây là câu hỏi: Làm thế nào để bạn xử lý bảo mật trong một kịch bản như vậy? Ý tôi là, người dùng phải đăng nhập vào ứng dụng ASP.NET, nhưng tôi muốn xác thực nó không chỉ trong ASP mà còn ở tầng giữa WCF nữa, vì một dịch vụ WCF được cho là được truy cập bởi nhiều ứng dụng hơn.
Tôi muốn người dùng đăng nhập vào ứng dụng Asp.Net và để WCF cũng biết thông tin đăng nhập. Có một số loại phiên trong WCF, trong đó để xác định một người dùng đăng nhập?
Các chuyên gia xử lý bảo mật trong trường hợp này như thế nào? Tôi biết bạn có thể bảo vệ các dịch vụ WCF với bảo mật tin nhắn, nhưng làm thế nào để đồng bộ hóa Asp.Net và WCF trên một người dùng đăng nhập duy nhất? Tôi muốn bảo vệ các hoạt động WCF tùy thuộc vào người sử dụng cho các phương tiện ủy quyền.
Đây là một câu hỏi quá lớn để xử lý trên SO - nó chiếm 50 trang trong bộ đào tạo WCF. Đề xuất bạn bắt đầu với một số nghiên cứu và sau đó đăng bất kỳ câu hỏi cụ thể nào bạn có - http://mscerts.net/programming/user-level%20security%20%20%20authorization%20and%20impersonation%20%28part%201%29%20 -% 20authorization.aspx –
Ứng dụng N-Tier? N là gì? 2? 3? 20? –
Điều này được diễn đạt theo cách tổng quát mơ hồ nhưng câu hỏi vẫn hợp lệ. Tôi muốn người dùng xác thực bởi ASP.NET được truyền chuỗi cho dịch vụ WCF như người dùng đã đăng nhập. Sao chuyện đó lại khó khăn đến thế? – DaveN59