|
| | Acl () |
| |
| virtual | ~Acl () |
| | Destructor. More...
|
| |
| bool | categoriesReadSet () |
| |
| bool | categoriesWriteSet () |
| |
| bool | rolesReadSet () |
| |
| bool | rolesWriteSet () |
| |
| bool | devicesReadSet () |
| |
| bool | devicesWriteSet () |
| |
| bool | roomsReadSet () |
| |
| bool | roomsWriteSet () |
| |
| bool | buildingPartsReadSet () |
| |
| bool | buildingPartsWriteSet () |
| |
| bool | variablesReadSet () |
| |
| bool | variablesWriteSet () |
| |
| PVariable | toVariable () |
| |
| void | fromVariable (PVariable serializedData) |
| | Converts a Variable structure to an ACL. More...
|
| |
| AclResult | checkServiceAccess (std::string &serviceName) |
| |
| AclResult | checkCategoriesReadAccess (std::set< uint64_t > &categories) |
| |
| AclResult | checkCategoriesWriteAccess (std::set< uint64_t > &categories) |
| |
| AclResult | checkCategoryReadAccess (uint64_t category) |
| |
| AclResult | checkCategoryWriteAccess (uint64_t category) |
| |
| AclResult | checkRolesReadAccess (std::set< uint64_t > &roles) |
| |
| AclResult | checkRolesWriteAccess (std::set< uint64_t > &roles) |
| |
| AclResult | checkRoleReadAccess (uint64_t role) |
| |
| AclResult | checkRoleWriteAccess (uint64_t role) |
| |
| AclResult | checkDeviceReadAccess (std::shared_ptr< Systems::Peer > peer) |
| |
| AclResult | checkDeviceWriteAccess (std::shared_ptr< Systems::Peer > peer) |
| |
| AclResult | checkEventServerMethodAccess (std::string &methodName) |
| |
| AclResult | checkMethodAccess (std::string &methodName) |
| |
| AclResult | checkMethodAndCategoryReadAccess (std::string &methodName, uint64_t categoryId) |
| |
| AclResult | checkMethodAndCategoryWriteAccess (std::string &methodName, uint64_t categoryId) |
| |
| AclResult | checkMethodAndRoleReadAccess (std::string &methodName, uint64_t roleId) |
| |
| AclResult | checkMethodAndRoleWriteAccess (std::string &methodName, uint64_t roleId) |
| |
| AclResult | checkMethodAndRoomReadAccess (std::string &methodName, uint64_t roomId) |
| |
| AclResult | checkMethodAndRoomWriteAccess (std::string &methodName, uint64_t roomId) |
| |
| AclResult | checkMethodAndBuildingPartReadAccess (std::string &methodName, uint64_t buildingPartId) |
| |
| AclResult | checkMethodAndBuildingPartWriteAccess (std::string &methodName, uint64_t buildingPartId) |
| |
| AclResult | checkMethodAndDeviceWriteAccess (std::string &methodName, uint64_t peerId) |
| |
| AclResult | checkNodeBlueVariableReadAccess (const std::string &nodeId, int32_t input) |
| |
| AclResult | checkNodeBlueVariableWriteAccess (const std::string &nodeId, int32_t input) |
| |
| AclResult | checkRoomReadAccess (uint64_t roomId) |
| |
| AclResult | checkRoomWriteAccess (uint64_t roomId) |
| |
| AclResult | checkBuildingPartReadAccess (uint64_t buildingPartId) |
| |
| AclResult | checkBuildingPartWriteAccess (uint64_t buildingPartId) |
| |
| AclResult | checkSystemVariableReadAccess (Database::PSystemVariable systemVariable) |
| |
| AclResult | checkSystemVariableWriteAccess (Database::PSystemVariable systemVariable) |
| |
| AclResult | checkVariableReadAccess (std::shared_ptr< Systems::Peer > peer, int32_t channel, const std::string &variableName) |
| |
| AclResult | checkVariableWriteAccess (std::shared_ptr< Systems::Peer > peer, int32_t channel, const std::string &variableName) |
| |
| std::string | toString (int32_t indentation=0) |
| |
This class is used to store ACL rules.
The elements are checked in the following order. Unset elements are skipped. If a field is set to "no access", access is denied immediately without checking further rules. When set to "access", the rule checking continues.
- Variables
- Devices
- Rooms
- Building parts
- Categories
- Roles
- Methods
- Event Server Methods
Security needs to be applied here:
RpcServer:
- Most RPC methods are defined in file RPCMethods.cpp
- Variable with all methods from RPCMethods.cpp: _rpcMethods
- If not found in map => IpcServer::callRpcMethod()
IpcServer:
- All methods on clients are called within callRpcMethod()
- Server methods are defined in _rpcMethods and _localRpcMethods
- Variable with all methods from RPCMethods.cpp: _rpcMethods
- Has broadcast methods
- Has it's own RPC methods
NodeBlueServer:
- Server methods are defined in _rpcMethods and _localRpcMethods
- Variable with all methods from RPCMethods.cpp: _rpcMethods
- If not found in above maps => IpcServer::callRpcMethod()
- Has broadcast methods
- Has it's own RPC methods
ScriptEngineServer:
- Server methods are defined in _rpcMethods and _localRpcMethods
- Variable with all methods from RPCMethods.cpp: _rpcMethods
- If not found in above maps => IpcServer::callRpcMethod()
- Has broadcast methods
- Has it's own RPC methods
RPC::Client
Mqtt