![]() |
TrinityCore
|
#include <RBAC.h>
Public Member Functions | |||||
| RBACData (uint32 id, std::string const &name, int32 realmId, uint8 secLevel=255) | |||||
| RBACData (RBACData const &other) | |||||
| RBACData (RBACData &&other) noexcept | |||||
| RBACData & | operator= (RBACData const &right) | ||||
| RBACData & | operator= (RBACData &&right) noexcept | ||||
| ~RBACData () | |||||
| std::string const & | GetName () const | ||||
| Gets the Name of the Object. | |||||
| uint32 | GetId () const | ||||
| Gets the Id of the Object. | |||||
HasPermission | |||||
Checks if certain action is allowed Checks if certain action can be performed.
Example Usage: | |||||
| bool | HasPermission (uint32 permission) const | ||||
| RBACPermissionContainer const & | GetPermissions () const | ||||
| Returns all the granted permissions (after computation) | |||||
| RBACPermissionContainer const & | GetGrantedPermissions () const | ||||
| Returns all the granted permissions. | |||||
| RBACPermissionContainer const & | GetDeniedPermissions () const | ||||
| Returns all the denied permissions. | |||||
GrantRole | |||||
Grants a permission Grants a permission to the account. If realm is 0 or the permission can not be added No save to db action will be performed. Fails if permission Id does not exists or permission already granted or denied
Example Usage: // previously defined "RBACData* rbac" with proper initialization
uint32 permissionId = 2;
Definition AccountMgr.h:48 | |||||
| RBACCommandResult | GrantPermission (uint32 permissionId, int32 realmId=0) | ||||
DenyPermission | |||||
Denies a permission Denied a permission to the account. If realm is 0 or the permission can not be added No save to db action will be performed. Fails if permission Id does not exists or permission already granted or denied
Example Usage: // previously defined "RBACData* rbac" with proper initialization
uint32 permissionId = 2;
| |||||
| RBACCommandResult | DenyPermission (uint32 permissionId, int32 realmId=0) | ||||
Private Member Functions | |
CalculateNewPermissions | |
Calculates new permissions Calculates new permissions after some change The calculation is done Granted - Denied:
| |
| void | CalculateNewPermissions () |
| int32 | GetRealmId () const |
| bool | HasGrantedPermission (uint32 permissionId) const |
| Checks if a permission is granted. | |
| bool | HasDeniedPermission (uint32 permissionId) const |
| Checks if a permission is denied. | |
| void | AddGrantedPermission (uint32 permissionId) |
| Adds a new granted permission. | |
| void | RemoveGrantedPermission (uint32 permissionId) |
| Removes a granted permission. | |
| void | AddDeniedPermission (uint32 permissionId) |
| Adds a new denied permission. | |
| void | RemoveDeniedPermission (uint32 permissionId) |
| Removes a denied permission. | |
| void | AddPermissions (RBACPermissionContainer const &permsFrom, RBACPermissionContainer &permsTo) |
| Adds a list of permissions to another list. | |
| void | RemovePermissions (RBACPermissionContainer &permsFrom, RBACPermissionContainer const &permsToRemove) |
| Removes a list of permissions from another list. | |
ExpandPermissions | |||
Adds the list of linked permissions to the original list Given a list of permissions, gets all the inherited permissions
| |||
| uint32 | _id | ||
| std::string | _name | ||
| |||
| int32 | _realmId | ||
| |||
| uint8 | _secLevel | ||
| |||
| RBACPermissionContainer | _grantedPerms | ||
| |||
| RBACPermissionContainer | _deniedPerms | ||
| |||
| RBACPermissionContainer | _globalPerms | ||
| |||
| void | ExpandPermissions (RBACPermissionContainer &permissions) | ||
RevokePermission | |||||
Removes a permission Removes a permission from the account. If realm is 0 or the permission can not be removed No save to db action will be performed. Any delete operation will always affect "all realms (-1)" in addition to the realm specified Fails if permission not present
Example Usage: // previously defined "RBACData* rbac" with proper initialization
uint32 permissionId = 2;
| |||||
| RBACCommandResult | RevokePermission (uint32 permissionId, int32 realmId=0) | ||||
| void | LoadFromDB () | ||||
| Loads all permissions assigned to current account. | |||||
| QueryCallback | LoadFromDBAsync () | ||||
| void | LoadFromDBCallback (PreparedQueryResult result) | ||||
| void | SetSecurityLevel (uint8 id) | ||||
| Sets security level. | |||||
| uint8 | GetSecurityLevel () const | ||||
| Returns the security level assigned. | |||||
| void | SavePermission (uint32 role, bool granted, int32 realm) | ||||
| Saves a permission to DB, Granted or Denied. | |||||
| void | ClearData () | ||||
| Clears roles, groups and permissions - Used for reload. | |||||
|
default |
|
defaultnoexcept |
|
default |
|
inlineprivate |
|
inlineprivate |
|
private |
|
private |
|
private |
| RBACCommandResult rbac::RBACData::DenyPermission | ( | uint32 | permissionId, |
| int32 | realmId = 0 |
||
| ) |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
| RBACCommandResult rbac::RBACData::GrantPermission | ( | uint32 | permissionId, |
| int32 | realmId = 0 |
||
| ) |
|
inlineprivate |
|
inlineprivate |
|
inline |
| void rbac::RBACData::LoadFromDB | ( | ) |
| QueryCallback rbac::RBACData::LoadFromDBAsync | ( | ) |
| void rbac::RBACData::LoadFromDBCallback | ( | PreparedQueryResult | result | ) |
|
inlineprivate |
|
inlineprivate |
|
private |
| RBACCommandResult rbac::RBACData::RevokePermission | ( | uint32 | permissionId, |
| int32 | realmId = 0 |
||
| ) |
|
inline |
|
private |
|
private |
|
private |