2010-02-16 23 views
6

Tôi đã nhìn thấy một số kịch bản tương tự được giải thích ở đây nhưng không được mô tả cụ thể ở đây. Tôi tự hỏi liệu có ai đó có thể cho tôi biết hướng đi nào không?Ứng dụng MVC2 (và những người khác) chia sẻ các dịch vụ WCF và xác thực

Tôi đang phát triển hai (và nhiều hơn nữa) ứng dụng MVC2. Cũng sẽ có một khách hàng (dày hơn) sau này (WPF hoặc Silverlight, TBD). Tất cả những điều này cần phải chia sẻ cùng một xác thực. Đối với các ứng dụng MVC2 họ (tốt hơn) cần phải đăng nhập một lần - nghĩa là nếu người dùng đăng nhập vào một ứng dụng MVC2, họ phải được ủy quyền trên ứng dụng khác, miễn là cookie chưa hết thời gian chờ.

Xác thực mẫu sẽ được sử dụng.

Tất cả các ứng dụng cần sử dụng chức năng kinh doanh thông thường và thực hiện truy cập db thông qua một ứng dụng dịch vụ WCF chung. Nó sẽ được tốt đẹp (tôi nghĩ) nếu WCF là không thể truy cập công cộng (tức là bị chặn đằng sau FW). Khách hàng dày hơn có thể sử dụng một lớp dịch vụ bổ sung để truy cập Common WCF App.

Điều này sẽ giống như là:

MVCApp1 -> WCFAppCommon

MVCApp2 -> WCFAppCommon

ThickClient -> WCFApp2 -> WCFAppCommon

Có thể thực hiện tất cả các xác thực/ủy quyền trong WCFAppCommon? Nếu không, tôi nghĩ rằng tôi sẽ phải lặp lại tất cả các logic bảo mật trong MVCApps và WCFApp2, trong khi, với tôi, có vẻ như ngồi tự nhiên trong WCFAppCommon. Mặt khác, có vẻ như nếu tôi xác thực/ủy quyền trong WCFAppCommon, tôi sẽ không thể sử dụng Xác thực biểu mẫu.

Nơi tôi đã nhìn thấy các giải pháp khả thi (mà tôi chưa thử), chúng dường như phức tạp hơn nhiều so với Xác thực Mẫu và một DB.

Bất kỳ trợ giúp đánh giá cao,

Phil

Trả lời

4

Tôi nghĩ mình nên quay lại điều này với những gì tôi đã học được (và học lại).

Đầu tiên bài học đã học lại - không trở thành cố định trên kiến ​​trúc và sau đó thử và làm mọi thứ khác phù hợp. Tôi đang cố định trên .Net, SQL Server, WCF, MVC2, EF4 và IIS7. Sửa trong tâm trí của tôi như thế nào tôi muốn những điều này để phù hợp với nhau là slumbly câm! Tốt hơn là đi ra ngoài và xem hướng dẫn tồn tại.

đó mang lại cho tôi những gì tôi học được - đây là một liên kết:

http://wcfsecurityguide.codeplex.com/

tôi giảm giá bài viết này một vài lần bởi vì đó là một chút ngày. Tuy nhiên, tôi muốn nói nó thực sự rất có liên quan và nếu bạn đang bắt đầu một dự án từ xa có liên quan với các dịch vụ bảo mật hãy xem xét. Phần IV có mọi thứ tôi cần.

1

Chúng tôi đang sử dụng WCF Web Application lưu trữ Hệ thống báo cáo (chúng tôi đang truy cập nó từ Silverlight) và vì nó sử dụng các phím máy tương tự như ứng dụng MVC của chúng tôi - chúng tôi có thể chia sẻ Cookie xác thực là tốt.

Nếu không, bạn phải gửi vé xác thực (tùy chỉnh hoặc không) cho ứng dụng WCF của mình.

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