Rbac account permissions

Материал из World of WarCraft Developers Wiki
Перейти к навигации Перейти к поиску

Таблица rbac_account_permissions

Таблица rbac_account_permissions из базы данных auth хранит прямые назначения RBAC-разрешений аккаунтам: какие permission ID выданы (granted) или явно запрещены (denied) для конкретного аккаунта, с возможностью ограничить действие одним реалмом или применить ко всем.

Структура таблицы

Field Type Attributes Key Null Default Extra
accountId int UNSIGNED PRIMARY, FOREIGN KEY (fk__rbac_account_permissions__account) NO
permissionId int UNSIGNED PRIMARY, FOREIGN KEY (fk__rbac_account_roles__rbac_permissions), INDEX (fk__rbac_account_roles__rbac_permissions) NO
granted tinyint(1) NO 1
realmId int PRIMARY NO -1

Описание полей

accountId

ID аккаунта, которому назначается разрешение. Значение соответствует account.id. При удалении аккаунта связанные записи удаляются каскадно (ON DELETE CASCADE).

Пример: 1

permissionId

ID разрешения (permission), которое назначается аккаунту. Значение соответствует rbac_permissions.id. При удалении permission записи удаляются каскадно (ON DELETE CASCADE).

Пример: 192

granted

Флаг назначения: выдано (grant) или запрещено (deny). Явный запрет (deny) имеет приоритет и используется для переопределения разрешений, получаемых через роли (linked permissions).

Value Описание
1 Granted (разрешение выдано)
0 Denied (разрешение запрещено)

Пример: 0

realmId

Ограничение по реалму: для какого реалма действует запись. Если указано -1, запись применяется ко всем реалмам. Иначе должно соответствовать realmlist.id.

Value Описание
-1 Для всех реалмов
>= 0 Для конкретного реалма (ID из realmlist.id)

Пример: -1