• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Rbac - помогите разобраться
alexeyko123
Рыцарь
Всем привет, в общем решил я заняться 4.3.4, по матерился и закинул. Теперь вот опять начал, помогите мне разобраться с RBAC.
Скрин моей базы Auth:

Вот что где менять нужно чтобы у меня были полноценные права администратора, а не сообщение: "Неправельный синтаксис"
Опыт - есть истинный учитель(Леонардо Да Винчи)
Знать что нужно сделать, и не делать этого - худшая трусость(Конфуций)
Сообщение # 1 написано 25.02.2014 в 00:25
Hamahomma
В таблице rbac_account_groups++++ Туда пиши id ака и уровень администрирования причем если хочиш например дать себе 4 лвл то нужно прописывать все уровни по порядку тоесть в каждой записи по 1 лвлу
Сообщение # 2 отредактировано Hamahomma - Вторник, 25.02.2014, 12:57
alexeyko123
Рыцарь
Hamahomma, смотрите мой скриншот, у меня нету такой таблицы. Заливал все из исходников + апдейты YTDB
Опыт - есть истинный учитель(Леонардо Да Винчи)
Знать что нужно сделать, и не делать этого - худшая трусость(Конфуций)
Сообщение # 3 написано 25.02.2014 в 19:05
Azteco
Маршал
Код
SET @id := ID аккаунта;  
SET @realm := ID реалма;  
INSERT INTO `rbac_account_permissions` VALUES (@id, 192, 1, @realm);

Первым
Код
INSERT INTO `rbac_linked_permissions` (id,linkedId) SELECT 192,permission FROM world.command;

Вторым
Сообщение # 4 написано 25.02.2014 в 20:45
alexeyko123
Рыцарь
Цитата Azteco ()
INSERT INTO `rbac_linked_permissions` (id,linkedId) SELECT 192,permission FROM world.command;

при этом запросе ошибка
Код
1452 - Cannot add or update a child row: a foreign key constraint fails (`auth`.`rbac_linked_permissions`, CONSTRAINT `fk__rbac_linked_permissions__rbac_permissions2` FOREIGN KEY (`linkedId`) REFERENCES `rbac_permissions` (`id`) ON DELETE CASCADE)

Добавлено (25.02.2014, 21:04)
---------------------------------------------
Azteco, дай контактные данные(скайп или еще что то), чтобы ты мог помочь мне решить этот вопрос.

Добавлено (25.02.2014, 21:10)
---------------------------------------------
зачем вообще придумали этот долбаный rbac, до него было отлично все, но нужно же выпендрится и сделать все по сложнее но пафосней...

Опыт - есть истинный учитель(Леонардо Да Винчи)
Знать что нужно сделать, и не делать этого - худшая трусость(Конфуций)
Сообщение # 5 написано 25.02.2014 в 21:10
Maklaren
Сержант
Да второе и не нужно, если залить все апдейты TrinityCore, то чтобы стать админом хватит и первого запроса, проверено.
В кратце расскажу в чем там суть.
В таблице rbac_permissions находятся всевозможные права доступа (permissions) к различным действиям/командам на сервере.
Соответственно у каждого права есть свой идентификатор, который соответствует идентификатору в таблице command, но некоторые так называемые действия там не перечислены т.к. они не относятся к командам, их идентификаторы с 1-50.
Вспоминаем старую систему выдачи прав, по полю security, аналог этому сейчас таблица rbac_default_permissions, т.е. поле secId - это и есть security (0 - игрок, 1 - модератор, 2- гейм мастер, 4 - администратор), и им соответствуют на данным момент следующие идентификаторы прав (195, 194, 193, 192), это идентификаторы являются группами для данных security, чтобы было проще выдавать права, а какие именно права имеют данные группы можно посмотреть в таблице rbac_linked_permissions.
Так-же можно создавать свои собственные группы, со своими правами, только нужно использовать уникальный идентификатор прав доступа.
Не ошибается тот, кто ничего не делает.
Сообщение # 6 написано 26.02.2014 в 01:06
alexeyko123
Рыцарь
Maklaren, как быстро заполнить таблицу rbac_linked_permissions? Ибо беда 500 строчек самому писать)))

Добавлено (02.03.2014, 18:53)
---------------------------------------------
все, решил проблему, спасибо откликнувшимся)

Опыт - есть истинный учитель(Леонардо Да Винчи)
Знать что нужно сделать, и не делать этого - худшая трусость(Конфуций)
Сообщение # 7 написано 02.03.2014 в 18:53
_Diavolb_
root@localhost
alexeyko123, не нужно ничего в rbac_linked_permissions писать, проверь базу world.command если она у тебя в таком виде, как у меня, тогда выдаёшь себе гм права от 1 до 3 уровня, в базе account_access. (Выше 3его гм доступа не выдавай) Больше ничего трогать не нужно и просто заходишь в игру.


p.s. если у тебя база command в другом виде, то я тебе скину чистую настроенную world.command.
Сообщение # 8 написано 02.03.2014 в 21:57
alexeyko123
Рыцарь
_Diavolb_, понимаешь в чем дело, доступ есть, но если команды не прописать в rbac_linked_premissions то будет писать Неправильный синтаксис.

Добавлено (03.03.2014, 00:34)
---------------------------------------------
точней при вводе команд будет писать Неправильный синтаксис

Добавлено (03.03.2014, 00:36)
---------------------------------------------
_Diavolb_, а так у тебя же не rbac, у тебя через security...

Добавлено (03.03.2014, 00:36)
---------------------------------------------
_Diavolb_, а у меня колонка не security, а permissions

Опыт - есть истинный учитель(Леонардо Да Винчи)
Знать что нужно сделать, и не делать этого - худшая трусость(Конфуций)
Сообщение # 9 написано 03.03.2014 в 00:36
HiTON
Рыцарь
alexeyko123,
http://wowjp.net/forum/120-262968-1
http://wowjp.net/forum/120-279481-1
Посмотри, почитай и делай как там описано. Тут таких тем куча и неоднократно уже обсуждалось.
Сообщение # 10 написано 11.03.2014 в 21:48
  • Страница 1 из 1
  • 1
Поиск: