2009-01-28 44 views
5

Tôi đang làm việc trên một dịch vụ WCF sẽ liên lạc qua net.tcp tới n phiên bản của ứng dụng khách (được phát triển bởi một lập trình viên khác trong văn phòng của tôi).Logic đầu tiên, bảo mật WCF sau?

Hiện tại tôi đang sử dụng net.tcp mà không có bất kỳ bảo mật nào vì tôi cảm thấy thiết lập ở giai đoạn này là không cần thiết, ít nhất là cho đến khi chúng tôi tiến gần hơn đến việc triển khai.

Trong quá trình phát triển ứng dụng WCF, có bất kỳ tác hại nào khi sử dụng một ràng buộc chuẩn (net.tcp trong trường hợp của tôi) không có bảo mật, sau đó khi logic nghiệp vụ đã được hoàn thành, thực hiện tất cả các yêu cầu bảo mật? Có điều gì tôi cần phải nhận thức được rằng có thể không hoạt động sau khi thực hiện bảo mật?

Trả lời

5

Trong khi thiết kế tổng thể của bạn nên xem xét an ninh ngay từ đầu , Tôi không nghĩ rằng bạn nên kết hợp các thành phần của mình với bất kỳ chiến lược bảo mật cụ thể nào. Bạn có thể rất muốn sử dụng một số thành phần của bạn một cách không an toàn hoặc trên một giao thức khác nhau cung cấp các tùy chọn bảo mật khác nhau.

Vì vậy, câu trả lời của tôi là có và không. Có, bạn cần phải suy nghĩ về nó ngay từ đầu, nhưng không có bạn không nên kết hợp các thành phần của bạn với nhu cầu bảo mật của bạn.

Điều đó nói rằng, vì bạn biết rằng bạn sẽ sử dụng net.tcp, bạn nên lưu ý rằng bảo mật truyền tải được bật theo mặc định cho ràng buộc này.

Để biết thêm thông tin, hãy xem Juval Lowy tuyệt vời Programming WCF Services, chương 10. Lowy, trong thư viện ServiceModelEx của mình (được thảo luận ở chiều dài trong sách) cung cấp một khung thực sự tốt đẹp mà bạn có thể cắm vào sau khi bạn đã tạo các thành phần của mình. Ngay cả khi nó không chính xác những gì bạn đang tìm kiếm, bạn có thể tùy chỉnh nó cho phù hợp với nhu cầu của bạn.

+0

Tôi đã thực sự được đọc thông qua lập trình WCF dịch vụ, nhưng đã không đạt đến đó. Tôi chắc chắn sẽ cung cấp cho chương đó một đọc :) –

+2

Vâng - đừng sợ chỉ cần bổ nhào vào Chương 10. Tôi bỏ qua 7, 8 và 9 để đạt các công cụ bảo mật. Nó được viết rất tốt. –

3

Bảo mật nên được suy nghĩ ngay từ đầu và không được thêm vào lúc kết thúc.

Xây dựng kế hoạch bảo mật của bạn và triển khai kế hoạch khi bạn thực hiện, thay vào đó là cuối cùng.

tham khảo: Microsoft .NET: architecting ứng dụng cho doanh nghiệp

http://www.amazon.com/Microsoft ®-NET-architecting-Ứng dụng-PRO-Developer/dp/073562609X

+0

Cảm ơn bạn đã trả lời. Nếu bạn có thể cập nhật câu trả lời của mình với một số tham chiếu sẽ tuyệt vời. –

+0

Sẽ làm, tôi phải về nhà trước. –

2

Bạn có hai lựa chọn, nướng ngay từ đầu hoặc tát vào cuối. Với an ninh nói chung tôi sẽ nói nó thực sự không làm việc trong đóng băng, do đó bạn phải làm một mớ hỗn độn của chiếc bánh của bạn để có được nó ở đó.

Tuy nhiên, cách tôi thấy câu hỏi của bạn là bạn đã biết bạn cần phải làm điều gì đó để giải quyết vấn đề bảo mật, bạn chỉ chưa quyết định phải làm gì. Trong trường hợp đó, tôi sẽ đồng ý với Terry rằng sau đó bạn nên thiết kế xung quanh một trừu tượng cho phép bạn cắm các giải pháp cuối cùng.

Nếu tôi là bạn, tôi có thể sẽ làm một mô hình đe dọa và sử dụng nó để xem xét các yếu tố đầu vào và rủi ro được trình bày bởi dịch vụ của bạn. Điều này sẽ giúp bạn quyết định những gì bạn nên làm cuối cùng và nếu trừu tượng của bạn bao gồm tất cả các căn cứ.

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