nl::Weave::WeaveServerDelegateBase

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

คลาสพื้นฐานทั่วไปสำหรับการใช้ออบเจ็กต์การมอบสิทธิ์ของเซิร์ฟเวอร์ Weave

สรุป

การสืบทอด

คลาสย่อยที่รู้จักโดยตรง:
  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

ประเภทที่มีการป้องกัน

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

ฟังก์ชันที่มีการป้องกัน

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
วิธีการแบบเสมือนจริงสำหรับกำหนดนโยบายการควบคุมการเข้าถึงระดับข้อความสำหรับข้อความคำขอของเซิร์ฟเวอร์ขาเข้า
WeaveServerDelegateBase(void)

ประเภทที่มีการป้องกัน

@69

 @69

AccessControlResult

uint8_t AccessControlResult

ฟังก์ชันที่มีการป้องกัน

EnforceAccessControl

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

วิธีการแบบเสมือนจริงสำหรับกำหนดนโยบายการควบคุมการเข้าถึงระดับข้อความสำหรับข้อความคำขอของเซิร์ฟเวอร์ขาเข้า

โครงสร้างพื้นฐานของเซิร์ฟเวอร์ Weave จะเรียกวิธีการนี้เพื่อพิจารณาว่าข้อความคำขอที่เข้ามาใหม่ควรได้รับการยอมรับและประมวลผลตามปกติ หรือถูกปฏิเสธ คลาสการมอบสิทธิ์ที่เชื่อมโยงกับการใช้งานเซิร์ฟเวอร์ Weave ต้องลบล้างเมธอดนี้เพื่อใช้นโยบายการควบคุมการเข้าถึงที่เหมาะสมสำหรับโปรโตคอลของตน แอปพลิเคชันอาจลบล้างวิธีการนี้เพิ่มเติมเพื่อให้รองรับนโยบายที่กำหนดเองนอกเหนือจากนโยบายที่มีเมื่อใช้เซิร์ฟเวอร์มาตรฐาน

การใช้วิธีการนี้ควรมีการส่งคืนค่าผลลัพธ์เป็น "ยอมรับ" หรือ "ปฏิเสธ" ตามผลของการประเมินนโยบายการควบคุมการเข้าถึง การแสดงผลลัพธ์เป็น "ถูกปฏิเสธ" จะทำให้ระบบส่ง StatusReport ไปยังผู้ส่งคำขอที่มีสถานะ Common/AccessDenied อีกทางเลือกหนึ่งคือ การนำวิธีการมาใช้อาจเลือกส่งคำตอบของตนเอง ซึ่งอาจเป็น StatusReport หรือข้อความประเภทอื่นๆ ในกรณีนี้ เมธอดควรแสดงผลลัพธ์ของ Rejected_RespSent เพื่อบ่งบอกว่ามีการส่งคำตอบแล้ว สุดท้าย การติดตั้งใช้งานอาจแสดงผล Rejected_Silent เพื่อระบุว่าควรปฏิเสธคำขอโดยไม่ส่งการตอบกลับไปยังผู้ส่งคำขอ

ต้องมีคลาสที่ลบล้างเมธอด EnforceAccessControl() ใน Call Case เพื่อเรียกใช้เมธอดซึ่งมีชื่อเดียวกันในคลาสระดับบนสุดโดยทันที ไม่ว่าจะเป็นคลาส WeaveServerDelegateBase หรือคลาสที่มาจากคลาสดังกล่าว วิธีการลบล้างควรอัปเดตค่าผลลัพธ์ด้วยการกำหนดนโยบายการควบคุมการเข้าถึงก่อน แล้วจึงเรียกใช้คลาสพื้นฐานเพื่อทำการพิจารณา

รายละเอียด
พารามิเตอร์
[in] ec
ExchangeContext ที่ได้รับข้อความ
[in] msgProfileId
รหัสโปรไฟล์ของข้อความที่ได้รับ
[in] msgType
ประเภทข้อความที่ได้รับ
[in] msgInfo
โครงสร้าง WeaveMessageInfo ที่มีข้อมูลเกี่ยวกับข้อความที่ได้รับ
[in,out] result
ค่าแจกแจงที่อธิบายผลของการประเมินนโยบายการควบคุมการเข้าถึงสำหรับข้อความที่ได้รับ เมื่อเข้าสู่เมธอด ค่าจะแสดงผลลัพธ์เบื้องต้น ณ จุดปัจจุบันในกระบวนการประเมิน เมื่อส่งคืน ผลลัพธ์น่าจะแสดงถึงการประเมินขั้นสุดท้ายของนโยบายการควบคุมการเข้าถึงสำหรับข้อความ

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)