nl::Weave::WeaveServerDelegateBase

#include <src/lib/core/WeaveServerBase.h>

Một lớp cơ sở phổ biến để triển khai các đối tượng uỷ quyền của máy chủ Weave.

Tóm tắt

Tính kế thừa

Lớp học con đã biết trực tiếp:
  nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegate
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegate
  nl::Weave::Profiles::TokenPairing::TokenPairingDelegate
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate

Kiểu được bảo vệ

@69{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
enum
AccessControlResult typedef
uint8_t

Hàm được bảo vệ

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
Phương pháp ảo để xác định chính sách kiểm soát quyền truy cập ở cấp tin nhắn cho thông báo yêu cầu máy chủ gửi đến.
WeaveServerDelegateBase(void)

Kiểu được bảo vệ

@69 tuổi

 @69

AccessControlResult

uint8_t AccessControlResult

Hàm được bảo vệ

EnforceAccessControl

virtual void EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  AccessControlResult & result
)

Phương pháp ảo để xác định chính sách kiểm soát quyền truy cập ở cấp tin nhắn cho thông báo yêu cầu máy chủ gửi đến.

Phương thức này được cơ sở hạ tầng máy chủ Weave gọi để xác định xem thông báo yêu cầu đến sẽ được chấp nhận và xử lý bình thường hay bị từ chối. Các lớp uỷ quyền liên kết với quá trình triển khai máy chủ Weave phải ghi đè phương thức này để triển khai các chính sách kiểm soát quyền truy cập phù hợp cho các giao thức tương ứng. Các ứng dụng có thể ghi đè phương thức này thêm để hỗ trợ các chính sách tuỳ chỉnh ngoài những chính sách do quá trình triển khai máy chủ tiêu chuẩn cung cấp.

Việc triển khai phương pháp này dự kiến sẽ trả về giá trị kết quả là Được chấp nhận hoặc Bị từ chối dựa trên kết quả đánh giá chính sách kiểm soát quyền truy cập. Việc trả về kết quả Bị từ chối sẽ khiến StatusReport được gửi đến người yêu cầu có chứa trạng thái Common/AccessAllowed. Ngoài ra, việc triển khai phương pháp có thể chọn để gửi phản hồi của riêng chúng, có thể là StatusReport hoặc bất kỳ loại thông báo nào khác. Trong trường hợp này, phương thức này sẽ trả về kết quả từ chối_RespSent gửi để báo hiệu là một phản hồi đã được gửi đi. Cuối cùng, các phương thức triển khai có thể trả về giá trị ích_Silent để cho biết rằng yêu cầu nên bị từ chối mà không gửi phản hồi cho người yêu cầu.

Các lớp ghi đè phương thức EnforceAccessControl() là bắt buộc trong các trường hợp gọi để gọi phương thức có tên tương tự trên lớp mẹ trực tiếp của chúng, có thể là lớp WeaveServerDelegateBase hoặc một lớp bắt nguồn từ lớp đó. Trước tiên, các phương thức ghi đè phải cập nhật giá trị kết quả dựa trên thông tin xác định về chính sách kiểm soát quyền truy cập, sau đó gọi lớp cơ sở để đưa ra quyết định.

Thông tin chi tiết
Thông số
[in] ec
ExchangeContext mà thông qua đó đã được nhận.
[in] msgProfileId
Mã hồ sơ của thư đã nhận.
[in] msgType
Loại tin nhắn của tin nhắn đã nhận.
[in] msgInfo
Cấu trúc WeaveMessageInfo chứa thông tin về tin nhắn đã nhận.
[in,out] result
Một giá trị được liệt kê mô tả kết quả đánh giá chính sách kiểm soát quyền truy cập đối với thông báo đã nhận. Khi bắt đầu vào phương thức này, giá trị này biểu thị kết quả dự kiến ở thời điểm hiện tại trong quá trình đánh giá. Khi trả lại thông báo, kết quả dự kiến sẽ là kết quả đánh giá cuối cùng về chính sách kiểm soát quyền truy cập đối với thông báo.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)