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{
|
enum |
AccessControlResult
|
typedefuint8_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 หรือคลาสที่มาจากคลาสดังกล่าว วิธีการลบล้างควรอัปเดตค่าผลลัพธ์ด้วยการกำหนดนโยบายการควบคุมการเข้าถึงก่อน แล้วจึงเรียกใช้คลาสพื้นฐานเพื่อทำการพิจารณา
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )