AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
rbac::RBACData Class Reference

#include "RBAC.h"

Public Member Functions

 RBACData (uint32 id, std::string const &name, int32 realmId, uint8 secLevel=255)
 
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

Returns
grant or deny action
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.
 
GrantPermission

Grants a permission

Parameters
permissionIdpermission to be granted
realmIdrealm affected
Returns
Success or failure (with reason) to grant the permission
RBACCommandResult GrantPermission (uint32 permissionId, int32 realmId=0)
 
DenyPermission

Denies a permission

Parameters
permissionIdpermission to be denied
realmIdrealm affected
Returns
Success or failure (with reason) to deny the permission
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:

  • Granted permissions: through linked permissions and directly assigned
  • Denied permissions: through linked permissions and directly assigned
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

Parameters
permissionsThe list of permissions to expand
uint32 _id
 
std::string _name
 

‍Account id


 
int32 _realmId
 

‍Account name


 
uint8 _secLevel
 

‍RealmId Affected


 
RBACPermissionContainer _grantedPerms
 

‍Account SecurityLevel


 
RBACPermissionContainer _deniedPerms
 

‍Granted permissions


 
RBACPermissionContainer _globalPerms
 

‍Denied permissions


 
void ExpandPermissions (RBACPermissionContainer &permissions)
 

RevokePermission

Removes a permission

Parameters
permissionIdpermission to be removed
realmIdrealm affected
Returns
Success or failure (with reason) to remove the permission
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 RecalculatePermissions ()
 For unit testing - forces permission recalculation without database.
 
void SetSecurityLevelForTest (uint8 id)
 For unit testing - sets security level without database reload.
 
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.
 

Detailed Description

Constructor & Destructor Documentation

◆ RBACData()

rbac::RBACData::RBACData ( uint32  id,
std::string const &  name,
int32  realmId,
uint8  secLevel = 255 
)
inline
733 :
734 _id(id), _name(name), _realmId(realmId), _secLevel(secLevel),
uint32 _id
Definition RBAC.h:884
RBACPermissionContainer _grantedPerms
‍Account SecurityLevel
Definition RBAC.h:888
int32 _realmId
‍Account name
Definition RBAC.h:886
std::string _name
‍Account id
Definition RBAC.h:885
RBACPermissionContainer _globalPerms
‍Denied permissions
Definition RBAC.h:890
RBACPermissionContainer _deniedPerms
‍Granted permissions
Definition RBAC.h:889
uint8 _secLevel
‍RealmId Affected
Definition RBAC.h:887

Member Function Documentation

◆ AddDeniedPermission()

void rbac::RBACData::AddDeniedPermission ( uint32  permissionId)
inlineprivate

Adds a new denied permission.

860 {
861 _deniedPerms.insert(permissionId);
862 }

Referenced by DenyPermission().

◆ AddGrantedPermission()

void rbac::RBACData::AddGrantedPermission ( uint32  permissionId)
inlineprivate

Adds a new granted permission.

848 {
849 _grantedPerms.insert(permissionId);
850 }

Referenced by GrantPermission().

◆ AddPermissions()

void rbac::RBACData::AddPermissions ( RBACPermissionContainer const &  permsFrom,
RBACPermissionContainer permsTo 
)
private

Adds a list of permissions to another list.

237{
238 for (uint32 permission : permsFrom)
239 permsTo.insert(permission);
240}
std::uint32_t uint32
Definition Define.h:107

◆ CalculateNewPermissions()

void rbac::RBACData::CalculateNewPermissions ( )
private
225{
226 LOG_TRACE("rbac", "RBACData::CalculateNewPermissions [Id: {} Name: {}]", GetId(), GetName());
227
228 // Get the list of granted permissions
232 ExpandPermissions(revoked);
234}
#define LOG_TRACE(filterType__,...)
Definition Log.h:161
RBACPermissionContainer const & GetDeniedPermissions() const
Returns all the denied permissions.
Definition RBAC.h:759
void ExpandPermissions(RBACPermissionContainer &permissions)
Definition RBAC.cpp:248
uint32 GetId() const
Gets the Id of the Object.
Definition RBAC.h:740
RBACPermissionContainer const & GetGrantedPermissions() const
Returns all the granted permissions.
Definition RBAC.h:757
std::string const & GetName() const
Gets the Name of the Object.
Definition RBAC.h:738
void RemovePermissions(RBACPermissionContainer &permsFrom, RBACPermissionContainer const &permsToRemove)
Removes a list of permissions from another list.
Definition RBAC.cpp:242
std::set< uint32 > RBACPermissionContainer
Definition RBAC.h:693

References _globalPerms, ExpandPermissions(), GetDeniedPermissions(), GetGrantedPermissions(), GetId(), GetName(), LOG_TRACE, and RemovePermissions().

Referenced by DenyPermission(), GrantPermission(), LoadFromDBCallback(), and RevokePermission().

◆ ClearData()

void rbac::RBACData::ClearData ( )
private

Clears roles, groups and permissions - Used for reload.

277{
278 _grantedPerms.clear();
279 _deniedPerms.clear();
280 _globalPerms.clear();
281}

References _deniedPerms, _globalPerms, and _grantedPerms.

Referenced by LoadFromDB(), and LoadFromDBAsync().

◆ DenyPermission()

RBACCommandResult rbac::RBACData::DenyPermission ( uint32  permissionId,
int32  realmId = 0 
)
89{
90 // Check if permission Id exists
91 RBACPermission const* perm = sAccountMgr->GetRBACPermission(permissionId);
92 if (!perm)
93 {
94 LOG_TRACE("rbac", "RBACData::DenyPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Permission does not exists",
95 GetId(), GetName(), permissionId, realmId);
97 }
98
99 // Check if already added in granted list
100 if (HasGrantedPermission(permissionId))
101 {
102 LOG_TRACE("rbac", "RBACData::DenyPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Permission in grant list",
103 GetId(), GetName(), permissionId, realmId);
105 }
106
107 // Already added?
108 if (HasDeniedPermission(permissionId))
109 {
110 LOG_TRACE("rbac", "RBACData::DenyPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Permission already denied",
111 GetId(), GetName(), permissionId, realmId);
113 }
114
115 AddDeniedPermission(permissionId);
116
117 // Do not save to db when loading data from DB (realmId = 0)
118 if (realmId)
119 {
120 LOG_TRACE("rbac", "RBACData::DenyPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Ok and DB updated",
121 GetId(), GetName(), permissionId, realmId);
122 SavePermission(permissionId, false, realmId);
124 }
125 else
126 LOG_TRACE("rbac", "RBACData::DenyPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Ok",
127 GetId(), GetName(), permissionId, realmId);
128
129 return RBAC_OK;
130}
#define sAccountMgr
Definition AccountMgr.h:93
void AddDeniedPermission(uint32 permissionId)
Adds a new denied permission.
Definition RBAC.h:859
bool HasDeniedPermission(uint32 permissionId) const
Checks if a permission is denied.
Definition RBAC.h:841
void SavePermission(uint32 role, bool granted, int32 realm)
Saves a permission to DB, Granted or Denied.
Definition RBAC.cpp:132
void CalculateNewPermissions()
Definition RBAC.cpp:224
bool HasGrantedPermission(uint32 permissionId) const
Checks if a permission is granted.
Definition RBAC.h:835
@ RBAC_OK
Definition RBAC.h:685
@ RBAC_CANT_ADD_ALREADY_ADDED
Definition RBAC.h:686
@ RBAC_IN_GRANTED_LIST
Definition RBAC.h:688
@ RBAC_ID_DOES_NOT_EXISTS
Definition RBAC.h:690

References AddDeniedPermission(), CalculateNewPermissions(), GetId(), GetName(), HasDeniedPermission(), HasGrantedPermission(), LOG_TRACE, rbac::RBAC_CANT_ADD_ALREADY_ADDED, rbac::RBAC_ID_DOES_NOT_EXISTS, rbac::RBAC_IN_GRANTED_LIST, rbac::RBAC_OK, sAccountMgr, and SavePermission().

Referenced by rbac_commandscript::HandleRBACPermDenyCommand(), and LoadFromDBCallback().

◆ ExpandPermissions()

void rbac::RBACData::ExpandPermissions ( RBACPermissionContainer permissions)
private
249{
250 RBACPermissionContainer toCheck = permissions;
251 permissions.clear();
252
253 while (!toCheck.empty())
254 {
255 // remove the permission from original list
256 uint32 permissionId = *toCheck.begin();
257 toCheck.erase(toCheck.begin());
258
259 RBACPermission const* permission = sAccountMgr->GetRBACPermission(permissionId);
260 if (!permission)
261 continue;
262
263 // insert into the final list (expanded list)
264 permissions.insert(permissionId);
265
266 // add all linked permissions (that are not already expanded) to the list of permissions to be checked
267 RBACPermissionContainer const& linkedPerms = permission->GetLinkedPermissions();
268 for (uint32 linkedPerm : linkedPerms)
269 if (permissions.find(linkedPerm) == permissions.end())
270 toCheck.insert(linkedPerm);
271 }
272
273 LOG_DEBUG("rbac", "RBACData::ExpandPermissions: Expanded: {}", GetDebugPermissionString(permissions));
274}
#define LOG_DEBUG(filterType__,...)
Definition Log.h:157
std::string GetDebugPermissionString(RBACPermissionContainer const &perms)
Definition RBAC.cpp:28

References rbac::GetDebugPermissionString(), rbac::RBACPermission::GetLinkedPermissions(), LOG_DEBUG, and sAccountMgr.

Referenced by CalculateNewPermissions().

◆ GetDeniedPermissions()

RBACPermissionContainer const & rbac::RBACData::GetDeniedPermissions ( ) const
inline

Returns all the denied permissions.

759{ return _deniedPerms; }

Referenced by CalculateNewPermissions(), and rbac_commandscript::HandleRBACPermListCommand().

◆ GetGrantedPermissions()

RBACPermissionContainer const & rbac::RBACData::GetGrantedPermissions ( ) const
inline

Returns all the granted permissions.

757{ return _grantedPerms; }

Referenced by CalculateNewPermissions(), and rbac_commandscript::HandleRBACPermListCommand().

◆ GetId()

◆ GetName()

◆ GetPermissions()

RBACPermissionContainer const & rbac::RBACData::GetPermissions ( ) const
inline

Returns all the granted permissions (after computation)

755{ return _globalPerms; }

◆ GetRealmId()

int32 rbac::RBACData::GetRealmId ( ) const
inlineprivate
832{ return _realmId; }

Referenced by LoadFromDB(), and LoadFromDBAsync().

◆ GetSecurityLevel()

uint8 rbac::RBACData::GetSecurityLevel ( ) const
inline

Returns the security level assigned.

807{ return _secLevel; }

Referenced by rbac_commandscript::HandleRBACPermListCommand().

◆ GrantPermission()

RBACCommandResult rbac::RBACData::GrantPermission ( uint32  permissionId,
int32  realmId = 0 
)
45{
46 // Check if permission Id exists
47 RBACPermission const* perm = sAccountMgr->GetRBACPermission(permissionId);
48 if (!perm)
49 {
50 LOG_TRACE("rbac", "RBACData::GrantPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Permission does not exists",
51 GetId(), GetName(), permissionId, realmId);
53 }
54
55 // Check if already added in denied list
56 if (HasDeniedPermission(permissionId))
57 {
58 LOG_TRACE("rbac", "RBACData::GrantPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Permission in deny list",
59 GetId(), GetName(), permissionId, realmId);
61 }
62
63 // Already added?
64 if (HasGrantedPermission(permissionId))
65 {
66 LOG_TRACE("rbac", "RBACData::GrantPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Permission already granted",
67 GetId(), GetName(), permissionId, realmId);
69 }
70
71 AddGrantedPermission(permissionId);
72
73 // Do not save to db when loading data from DB (realmId = 0)
74 if (realmId)
75 {
76 LOG_TRACE("rbac", "RBACData::GrantPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Ok and DB updated",
77 GetId(), GetName(), permissionId, realmId);
78 SavePermission(permissionId, true, realmId);
80 }
81 else
82 LOG_TRACE("rbac", "RBACData::GrantPermission [Id: {} Name: {}] (Permission {}, RealmId {}). Ok",
83 GetId(), GetName(), permissionId, realmId);
84
85 return RBAC_OK;
86}
void AddGrantedPermission(uint32 permissionId)
Adds a new granted permission.
Definition RBAC.h:847
@ RBAC_IN_DENIED_LIST
Definition RBAC.h:689

References AddGrantedPermission(), CalculateNewPermissions(), GetId(), GetName(), HasDeniedPermission(), HasGrantedPermission(), LOG_TRACE, rbac::RBAC_CANT_ADD_ALREADY_ADDED, rbac::RBAC_ID_DOES_NOT_EXISTS, rbac::RBAC_IN_DENIED_LIST, rbac::RBAC_OK, sAccountMgr, and SavePermission().

Referenced by rbac_commandscript::HandleRBACPermGrantCommand(), and LoadFromDBCallback().

◆ HasDeniedPermission()

bool rbac::RBACData::HasDeniedPermission ( uint32  permissionId) const
inlineprivate

Checks if a permission is denied.

842 {
843 return _deniedPerms.find(permissionId) != _deniedPerms.end();
844 }

Referenced by DenyPermission(), GrantPermission(), and RevokePermission().

◆ HasGrantedPermission()

bool rbac::RBACData::HasGrantedPermission ( uint32  permissionId) const
inlineprivate

Checks if a permission is granted.

836 {
837 return _grantedPerms.find(permissionId) != _grantedPerms.end();
838 }

Referenced by DenyPermission(), GrantPermission(), and RevokePermission().

◆ HasPermission()

bool rbac::RBACData::HasPermission ( uint32  permission) const
inline
749 {
750 return _globalPerms.find(permission) != _globalPerms.end();
751 }

Referenced by WorldSession::HasPermission().

◆ LoadFromDB()

void rbac::RBACData::LoadFromDB ( )

Loads all permissions assigned to current account.

176{
177 ClearData();
178
179 LOG_DEBUG("rbac", "RBACData::LoadFromDB [Id: {} Name: {}]: Loading permissions", GetId(), GetName());
180 // Load account permissions (granted and denied) that affect current realm
182 stmt->SetData(0, GetId());
183 stmt->SetData(1, GetRealmId());
184
186}
DatabaseWorkerPool< LoginDatabaseConnection > LoginDatabase
Accessor to the realm/login database.
Definition DatabaseEnv.cpp:22
@ LOGIN_SEL_RBAC_ACCOUNT_PERMISSIONS
Definition LoginDatabase.h:139
Acore::Types::is_default< T > SetData(const uint8 index, T value)
Definition PreparedStatement.h:77
Definition PreparedStatement.h:157
int32 GetRealmId() const
Definition RBAC.h:832
void ClearData()
Clears roles, groups and permissions - Used for reload.
Definition RBAC.cpp:276
void LoadFromDBCallback(PreparedQueryResult result)
Definition RBAC.cpp:201

References ClearData(), GetId(), GetName(), GetRealmId(), LoadFromDBCallback(), LOG_DEBUG, LOGIN_SEL_RBAC_ACCOUNT_PERMISSIONS, LoginDatabase, and PreparedStatementBase::SetData().

Referenced by WorldSession::LoadPermissions().

◆ LoadFromDBAsync()

QueryCallback rbac::RBACData::LoadFromDBAsync ( )
189{
190 ClearData();
191
192 LOG_DEBUG("rbac", "RBACData::LoadFromDB [Id: {} Name: {}]: Loading permissions", GetId(), GetName());
193 // Load account permissions (granted and denied) that affect current realm
195 stmt->SetData(0, GetId());
196 stmt->SetData(1, GetRealmId());
197
198 return LoginDatabase.AsyncQuery(stmt);
199}

References ClearData(), GetId(), GetName(), GetRealmId(), LOG_DEBUG, LOGIN_SEL_RBAC_ACCOUNT_PERMISSIONS, LoginDatabase, and PreparedStatementBase::SetData().

Referenced by WorldSession::LoadPermissionsAsync().

◆ LoadFromDBCallback()

void rbac::RBACData::LoadFromDBCallback ( PreparedQueryResult  result)
202{
203 if (result)
204 {
205 do
206 {
207 Field* fields = result->Fetch();
208 if (fields[1].Get<bool>())
209 GrantPermission(fields[0].Get<uint32>());
210 else
211 DenyPermission(fields[0].Get<uint32>());
212 } while (result->NextRow());
213 }
214
215 // Add default permissions
216 RBACPermissionContainer const& permissions = sAccountMgr->GetRBACDefaultPermissions(_secLevel);
217 for (uint32 permission : permissions)
218 GrantPermission(permission);
219
220 // Force calculation of permissions
222}
Class used to access individual fields of database query result.
Definition Field.h:98
RBACCommandResult GrantPermission(uint32 permissionId, int32 realmId=0)
Definition RBAC.cpp:44
RBACCommandResult DenyPermission(uint32 permissionId, int32 realmId=0)
Definition RBAC.cpp:88

References _secLevel, CalculateNewPermissions(), DenyPermission(), GrantPermission(), and sAccountMgr.

Referenced by WorldSession::InitRBACDataForTest(), and LoadFromDB().

◆ RecalculatePermissions()

void rbac::RBACData::RecalculatePermissions ( )
inline

For unit testing - forces permission recalculation without database.

◆ RemoveDeniedPermission()

void rbac::RBACData::RemoveDeniedPermission ( uint32  permissionId)
inlineprivate

Removes a denied permission.

866 {
867 _deniedPerms.erase(permissionId);
868 }

Referenced by RevokePermission().

◆ RemoveGrantedPermission()

void rbac::RBACData::RemoveGrantedPermission ( uint32  permissionId)
inlineprivate

Removes a granted permission.

854 {
855 _grantedPerms.erase(permissionId);
856 }

Referenced by RevokePermission().

◆ RemovePermissions()

void rbac::RBACData::RemovePermissions ( RBACPermissionContainer permsFrom,
RBACPermissionContainer const &  permsToRemove 
)
private

Removes a list of permissions from another list.

243{
244 for (uint32 permission: permsToRemove)
245 permsFrom.erase(permission);
246}

Referenced by CalculateNewPermissions().

◆ RevokePermission()

RBACCommandResult rbac::RBACData::RevokePermission ( uint32  permissionId,
int32  realmId = 0 
)
143{
144 // Check if it's present in any list
145 if (!HasGrantedPermission(permissionId) && !HasDeniedPermission(permissionId))
146 {
147 LOG_TRACE("rbac", "RBACData::RevokePermission [Id: {} Name: {}] (Permission {}, RealmId {}). Not granted or revoked",
148 GetId(), GetName(), permissionId, realmId);
150 }
151
152 RemoveGrantedPermission(permissionId);
153 RemoveDeniedPermission(permissionId);
154
155 // Do not save to db when loading data from DB (realmId = 0)
156 if (realmId)
157 {
158 LOG_TRACE("rbac", "RBACData::RevokePermission [Id: {} Name: {}] (Permission {}, RealmId {}). Ok and DB updated",
159 GetId(), GetName(), permissionId, realmId);
161 stmt->SetData(0, GetId());
162 stmt->SetData(1, permissionId);
163 stmt->SetData(2, realmId);
164 LoginDatabase.Execute(stmt);
165
167 }
168 else
169 LOG_TRACE("rbac", "RBACData::RevokePermission [Id: {} Name: {}] (Permission {}, RealmId {}). Ok",
170 GetId(), GetName(), permissionId, realmId);
171
172 return RBAC_OK;
173}
@ LOGIN_DEL_RBAC_ACCOUNT_PERMISSION
Definition LoginDatabase.h:141
void RemoveDeniedPermission(uint32 permissionId)
Removes a denied permission.
Definition RBAC.h:865
void RemoveGrantedPermission(uint32 permissionId)
Removes a granted permission.
Definition RBAC.h:853
@ RBAC_CANT_REVOKE_NOT_IN_LIST
Definition RBAC.h:687

References CalculateNewPermissions(), GetId(), GetName(), HasDeniedPermission(), HasGrantedPermission(), LOG_TRACE, LOGIN_DEL_RBAC_ACCOUNT_PERMISSION, LoginDatabase, rbac::RBAC_CANT_REVOKE_NOT_IN_LIST, rbac::RBAC_OK, RemoveDeniedPermission(), RemoveGrantedPermission(), and PreparedStatementBase::SetData().

Referenced by rbac_commandscript::HandleRBACPermRevokeCommand().

◆ SavePermission()

void rbac::RBACData::SavePermission ( uint32  role,
bool  granted,
int32  realm 
)
private

Saves a permission to DB, Granted or Denied.

133{
135 stmt->SetData(0, GetId());
136 stmt->SetData(1, permission);
137 stmt->SetData(2, granted);
138 stmt->SetData(3, realmId);
139 LoginDatabase.Execute(stmt);
140}
@ LOGIN_INS_RBAC_ACCOUNT_PERMISSION
Definition LoginDatabase.h:140

References GetId(), LOGIN_INS_RBAC_ACCOUNT_PERMISSION, LoginDatabase, and PreparedStatementBase::SetData().

Referenced by DenyPermission(), and GrantPermission().

◆ SetSecurityLevel()

void rbac::RBACData::SetSecurityLevel ( uint8  id)
inline

Sets security level.

801 {
802 _secLevel = id;
803 LoadFromDB();
804 }
void LoadFromDB()
Loads all permissions assigned to current account.
Definition RBAC.cpp:175

◆ SetSecurityLevelForTest()

void rbac::RBACData::SetSecurityLevelForTest ( uint8  id)
inline

For unit testing - sets security level without database reload.

813{ _secLevel = id; }

Member Data Documentation

◆ _deniedPerms

RBACPermissionContainer rbac::RBACData::_deniedPerms
private

‍Granted permissions

Referenced by ClearData().

◆ _globalPerms

RBACPermissionContainer rbac::RBACData::_globalPerms
private

‍Denied permissions

Referenced by CalculateNewPermissions(), and ClearData().

◆ _grantedPerms

RBACPermissionContainer rbac::RBACData::_grantedPerms
private

‍Account SecurityLevel

Referenced by ClearData().

◆ _id

uint32 rbac::RBACData::_id
private

◆ _name

std::string rbac::RBACData::_name
private

‍Account id

◆ _realmId

int32 rbac::RBACData::_realmId
private

‍Account name

◆ _secLevel

uint8 rbac::RBACData::_secLevel
private

‍RealmId Affected

Referenced by LoadFromDBCallback().


The documentation for this class was generated from the following files: