mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 02:46:33 +01:00
Core/RBAC: Move ban commands to RBAC (using individual permissions)
This commit is contained in:
43
sql/updates/auth/2013_08_30_03_auth_misc.sql
Normal file
43
sql/updates/auth/2013_08_30_03_auth_misc.sql
Normal file
@@ -0,0 +1,43 @@
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN 239 AND 256;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(239, 'ban'),
|
||||
(240, 'ban account'),
|
||||
(241, 'ban character'),
|
||||
(242, 'ban ip'),
|
||||
(243, 'ban playeraccount'),
|
||||
(244, 'baninfo'),
|
||||
(245, 'baninfo account'),
|
||||
(246, 'baninfo character'),
|
||||
(247, 'baninfo ip'),
|
||||
(248, 'banlist'),
|
||||
(249, 'banlist account'),
|
||||
(250, 'banlist character'),
|
||||
(251, 'banlist ip'),
|
||||
(252, 'unban'),
|
||||
(253, 'unban account'),
|
||||
(254, 'unban character'),
|
||||
(255, 'unban ip'),
|
||||
(256, 'unban playeraccount');
|
||||
|
||||
-- Add Permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN 239 AND 256;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, 239),
|
||||
(4, 240),
|
||||
(4, 241),
|
||||
(4, 242),
|
||||
(4, 243),
|
||||
(4, 244),
|
||||
(4, 245),
|
||||
(4, 246),
|
||||
(4, 247),
|
||||
(4, 248),
|
||||
(4, 249),
|
||||
(4, 250),
|
||||
(4, 251),
|
||||
(4, 252),
|
||||
(4, 253),
|
||||
(4, 254),
|
||||
(4, 255),
|
||||
(4, 256);
|
||||
19
sql/updates/world/2013_08_30_06_world_command.sql
Normal file
19
sql/updates/world/2013_08_30_06_world_command.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = 239 WHERE `name` = 'ban';
|
||||
UPDATE `command` SET `permission` = 240 WHERE `name` = 'ban account';
|
||||
UPDATE `command` SET `permission` = 241 WHERE `name` = 'ban character';
|
||||
UPDATE `command` SET `permission` = 242 WHERE `name` = 'ban ip';
|
||||
UPDATE `command` SET `permission` = 243 WHERE `name` = 'ban playeraccount';
|
||||
UPDATE `command` SET `permission` = 244 WHERE `name` = 'baninfo';
|
||||
UPDATE `command` SET `permission` = 245 WHERE `name` = 'baninfo account';
|
||||
UPDATE `command` SET `permission` = 246 WHERE `name` = 'baninfo character';
|
||||
UPDATE `command` SET `permission` = 247 WHERE `name` = 'baninfo ip';
|
||||
UPDATE `command` SET `permission` = 248 WHERE `name` = 'banlist';
|
||||
UPDATE `command` SET `permission` = 249 WHERE `name` = 'banlist account';
|
||||
UPDATE `command` SET `permission` = 250 WHERE `name` = 'banlist character';
|
||||
UPDATE `command` SET `permission` = 251 WHERE `name` = 'banlist ip';
|
||||
UPDATE `command` SET `permission` = 252 WHERE `name` = 'unban';
|
||||
UPDATE `command` SET `permission` = 253 WHERE `name` = 'unban account';
|
||||
UPDATE `command` SET `permission` = 254 WHERE `name` = 'unban character';
|
||||
UPDATE `command` SET `permission` = 255 WHERE `name` = 'unban ip';
|
||||
UPDATE `command` SET `permission` = 256 WHERE `name` = 'unban playeraccount';
|
||||
@@ -136,6 +136,24 @@ enum RBACPermissions
|
||||
RBAC_PERM_COMMAND_ARENA_INFO = 236,
|
||||
RBAC_PERM_COMMAND_ARENA_LOOKUP = 237,
|
||||
RBAC_PERM_COMMAND_ARENA_RENAME = 238,
|
||||
RBAC_PERM_COMMAND_BAN = 239,
|
||||
RBAC_PERM_COMMAND_BAN_ACCOUNT = 240,
|
||||
RBAC_PERM_COMMAND_BAN_CHARACTER = 241,
|
||||
RBAC_PERM_COMMAND_BAN_IP = 242,
|
||||
RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT = 243,
|
||||
RBAC_PERM_COMMAND_BANINFO = 244,
|
||||
RBAC_PERM_COMMAND_BANINFO_ACCOUNT = 245,
|
||||
RBAC_PERM_COMMAND_BANINFO_CHARACTER = 246,
|
||||
RBAC_PERM_COMMAND_BANINFO_IP = 247,
|
||||
RBAC_PERM_COMMAND_BANLIST = 248,
|
||||
RBAC_PERM_COMMAND_BANLIST_ACCOUNT = 249,
|
||||
RBAC_PERM_COMMAND_BANLIST_CHARACTER = 250,
|
||||
RBAC_PERM_COMMAND_BANLIST_IP = 251,
|
||||
RBAC_PERM_COMMAND_UNBAN = 252,
|
||||
RBAC_PERM_COMMAND_UNBAN_ACCOUNT = 253,
|
||||
RBAC_PERM_COMMAND_UNBAN_CHARACTER = 254,
|
||||
RBAC_PERM_COMMAND_UNBAN_IP = 255,
|
||||
RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT = 256,
|
||||
|
||||
// custom permissions 1000+
|
||||
RBAC_PERM_MAX
|
||||
|
||||
@@ -39,41 +39,41 @@ public:
|
||||
{
|
||||
static ChatCommand unbanCommandTable[] =
|
||||
{
|
||||
{ "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanAccountCommand, "", NULL },
|
||||
{ "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanCharacterCommand, "", NULL },
|
||||
{ "playeraccount", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanAccountByCharCommand, "", NULL },
|
||||
{ "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanIPCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "account", RBAC_PERM_COMMAND_UNBAN_ACCOUNT, true, &HandleUnBanAccountCommand, "", NULL },
|
||||
{ "character", RBAC_PERM_COMMAND_UNBAN_CHARACTER, true, &HandleUnBanCharacterCommand, "", NULL },
|
||||
{ "playeraccount", RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT, true, &HandleUnBanAccountByCharCommand, "", NULL },
|
||||
{ "ip", RBAC_PERM_COMMAND_UNBAN_IP, true, &HandleUnBanIPCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand banlistCommandTable[] =
|
||||
{
|
||||
{ "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListAccountCommand, "", NULL },
|
||||
{ "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListCharacterCommand, "", NULL },
|
||||
{ "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListIPCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "account", RBAC_PERM_COMMAND_BANLIST_ACCOUNT, true, &HandleBanListAccountCommand, "", NULL },
|
||||
{ "character", RBAC_PERM_COMMAND_BANLIST_CHARACTER, true, &HandleBanListCharacterCommand, "", NULL },
|
||||
{ "ip", RBAC_PERM_COMMAND_BANLIST_IP, true, &HandleBanListIPCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand baninfoCommandTable[] =
|
||||
{
|
||||
{ "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoAccountCommand, "", NULL },
|
||||
{ "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoCharacterCommand, "", NULL },
|
||||
{ "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoIPCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "account", RBAC_PERM_COMMAND_BANINFO_ACCOUNT, true, &HandleBanInfoAccountCommand, "", NULL },
|
||||
{ "character", RBAC_PERM_COMMAND_BANINFO_CHARACTER, true, &HandleBanInfoCharacterCommand, "", NULL },
|
||||
{ "ip", RBAC_PERM_COMMAND_BANINFO_IP, true, &HandleBanInfoIPCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand banCommandTable[] =
|
||||
{
|
||||
{ "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanAccountCommand, "", NULL },
|
||||
{ "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanCharacterCommand, "", NULL },
|
||||
{ "playeraccount", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanAccountByCharCommand, "", NULL },
|
||||
{ "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanIPCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "account", RBAC_PERM_COMMAND_BAN_ACCOUNT, true, &HandleBanAccountCommand, "", NULL },
|
||||
{ "character", RBAC_PERM_COMMAND_BAN_CHARACTER, true, &HandleBanCharacterCommand, "", NULL },
|
||||
{ "playeraccount", RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT, true, &HandleBanAccountByCharCommand, "", NULL },
|
||||
{ "ip", RBAC_PERM_COMMAND_BAN_IP, true, &HandleBanIPCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "ban", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", banCommandTable },
|
||||
{ "baninfo", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", baninfoCommandTable },
|
||||
{ "banlist", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", banlistCommandTable },
|
||||
{ "unban", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", unbanCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "ban", RBAC_PERM_COMMAND_BAN, true, NULL, "", banCommandTable },
|
||||
{ "baninfo", RBAC_PERM_COMMAND_BANINFO, true, NULL, "", baninfoCommandTable },
|
||||
{ "banlist", RBAC_PERM_COMMAND_BANLIST, true, NULL, "", banlistCommandTable },
|
||||
{ "unban", RBAC_PERM_COMMAND_UNBAN, true, NULL, "", unbanCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user