Tôi đang thiết kế và thử nghiệm Dịch vụ WCF và hiển thị chúng dưới dạng Dịch vụ Web SOAP.Bảo mật khác nhau cho hoạt động Dịch vụ khác nhau trong WCF
Tôi có các lớp dịch vụ của mình được chia một cách hợp lý. Tôi có dịch vụ Tài khoản. Để truy cập dịch vụ web của tài khoản, bạn phải cung cấp tên người dùng và mật khẩu cũng như mã thông báo API. Tôi đã viết một lớp tùy chỉnh mở rộng UserNamePasswordValidator để chăm sóc chứng thực và IDispatchMessageInspector để kiểm tra mã thông báo.
Yêu cầu chỉ xuất hiện ở nơi chúng tôi muốn cung cấp một số kiểm tra tài khoản mà không cần người dùng được xác thực. Về mặt logic, các hoạt động này sẽ vẫn còn trong Dịch vụ tài khoản. Tuy nhiên hành vi dịch vụ được cấu hình để yêu cầu tên người dùng, mật khẩu và có một IServiceBehavior mà thêm một IDispatchMessageInspector kiểm tra tất cả các massage cho một mã thông báo.
Tôi đã được rà soát tất cả các điểm mở rộng khác nhau qua Extending Dispatchers - Microsoft và WCF Extensibility - Carlos Figueira
tôi có thể dường như để tìm một cách để chỉ áp dụng bảo mật ở mức độ hoạt động. Hoặc một cách để định cấu hình dịch vụ để các chức năng nhất định yêu cầu bảo mật/mã thông báo và các chức năng khác không yêu cầu.
Tôi mới tham gia WCF để có thể đơn giản nhưng tôi không tìm thấy. Nếu bạn biết một bài viết cho thấy cách bảo mật các phần khác nhau của một dịch vụ theo những cách khác nhau hoặc nếu bạn biết cách, vui lòng cung cấp cho tôi một số thông tin. Cảm ơn bạn.
Đối với điều này, bạn có thể tạo điểm cuối riêng biệt ('miễn phí'/dịch vụ công cộng) mà không cần bảo mật hoặc với các cài đặt bảo mật khác nhau – SalientBrain
Làm cách nào để giới hạn hoạt động ở điểm cuối đó? Nếu không có xác thực, tôi muốn giới hạn những gì có thể được gọi. – Allan
Bạn phơi bày điểm cuối với giao diện đặc biệt, khác với điểm chính (chỉ các hoạt động bị hạn chế) – SalientBrain