mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/RBAC: Allow setting different default security level roles to different realms
This commit is contained in:
@@ -334,7 +334,8 @@ DROP TABLE IF EXISTS `rbac_default_permissions`;
|
||||
CREATE TABLE `rbac_default_permissions` (
|
||||
`secId` int(10) unsigned NOT NULL COMMENT 'Security Level id',
|
||||
`permissionId` int(10) unsigned NOT NULL COMMENT 'permission id',
|
||||
PRIMARY KEY (`secId`,`permissionId`),
|
||||
`realmId` int(11) NOT NULL DEFAULT '-1' COMMENT 'Realm Id, -1 means all',
|
||||
PRIMARY KEY (`secId`,`permissionId`, `realmId`),
|
||||
KEY `fk__rbac_default_permissions__rbac_permissions` (`permissionId`),
|
||||
CONSTRAINT `fk__rbac_default_permissions__rbac_permissions` FOREIGN KEY (`permissionId`) REFERENCES `rbac_permissions` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Default permission to assign to different account security levels';
|
||||
@@ -346,7 +347,7 @@ CREATE TABLE `rbac_default_permissions` (
|
||||
|
||||
LOCK TABLES `rbac_default_permissions` WRITE;
|
||||
/*!40000 ALTER TABLE `rbac_default_permissions` DISABLE KEYS */;
|
||||
INSERT INTO `rbac_default_permissions` VALUES (3,192),(2,193),(1,194),(0,195);
|
||||
INSERT INTO `rbac_default_permissions` VALUES (3,192, -1),(2,193, -1),(1,194, -1),(0,195, -1);
|
||||
/*!40000 ALTER TABLE `rbac_default_permissions` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
|
||||
3
sql/updates/auth/2014_12_10_00_auth.sql
Normal file
3
sql/updates/auth/2014_12_10_00_auth.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE `rbac_default_permissions`
|
||||
ADD COLUMN `realmId` INT(11) NOT NULL DEFAULT '-1' COMMENT 'Realm Id, -1 means all',
|
||||
DROP PRIMARY KEY, ADD PRIMARY KEY (`secId`, `permissionId`, `realmId`);
|
||||
@@ -462,7 +462,7 @@ void AccountMgr::LoadRBAC()
|
||||
while (result->NextRow());
|
||||
|
||||
TC_LOG_DEBUG("rbac", "AccountMgr::LoadRBAC: Loading default permissions");
|
||||
result = LoginDatabase.Query("SELECT secId, permissionId FROM rbac_default_permissions ORDER BY secId ASC");
|
||||
result = LoginDatabase.PQuery("SELECT secId, permissionId FROM rbac_default_permissions WHERE (realmId = %u OR realmId = -1) ORDER BY secId ASC", realmID);
|
||||
if (!result)
|
||||
{
|
||||
TC_LOG_INFO("server.loading", ">> Loaded 0 default permission definitions. DB table `rbac_default_permissions` is empty.");
|
||||
|
||||
Reference in New Issue
Block a user