nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
用于实现 Weave 服务器委托对象的通用基类。
摘要
继承
:
受保护的类型 |
|
---|---|
@69{
|
枚举 |
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
受保护的函数
强制执行访问权限控制
virtual void EnforceAccessControl( ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result )
虚拟方法,用于确定传入服务器请求消息的消息级访问权限控制政策。
Weave 服务器基础架构会调用此方法,以确定是应正常接受和处理传入请求消息,还是拒绝传入请求消息。与 Weave 服务器实现相关联的委托类必须替换此方法,以针对其协议实现适当的访问控制政策。应用可能会进一步覆盖此方法,以支持标准服务器实现所提供政策之外的自定义政策。
根据访问控制政策评估结果,此方法的实现预计会返回结果值“已接受”或“已拒绝”。如果返回“被拒绝”的结果,则系统会向包含“常见/拒绝访问”状态的请求者发送 StatusReport。或者,方法实现可以选择发送自己的响应,这些响应可以是 StatusReport 或任何其他类型的消息。在这种情况下,该方法应返回 Rejected_RespSent 的结果,表示已发送响应。最后,实现可以返回 Rejected_Silent,以指明请求被拒绝,而无需向请求者发送响应。
在调用请求中,替换 EnforceAccessControl() 方法的类需要针对其直接父类调用类似名称的方法,无论是 WeaveServerDelegateBase 类还是派生自此类的类。替换方法应首先根据结果确定访问控制政策来更新结果值,然后调用其基类来做出决定。
详细信息 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )