Показать сообщение отдельно
Старый 26.10.2006, 17:00   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,335 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Ну смысл-то объединять группы пользователей в одну - есть. Например в случае реорганизации групп прав. Наплодили и захотели структурировать или перегруппировать. Конечно - это нерегулярная задача - однако вполне реальная.
Соответственно - и объединить права в одну группу - дело возможное. Правда парой строчек кода здесь не обойтись.

Собсно идея/алгоритм объединения.
1. Берем 3 группы: одну новую (№3) и две старые (№1 и №2) (для простоты подразумеваем что домен один).
2. Берем таблички AccessRightsList, SysSecurityFormTable, SysSecurityFormControlTable (предполагаю, что RLS либо не используется, либо объединяться будет вручную).
3. Копируем записи, у которых стоит группа №1 в записи у которых стоит группа №3.
4. Копируем записи, у которых стоит группа №2 в записи у которых стоит группа №3 с проверкой - если такая запись уже существует с тем же или большем уровнем доступа - то не копируем. Если же доступ есть, но меньший - то увеличиваем доступ.
5. Не забываем перечитать права (класс SysSecurityUserGroup, метод load)
__________________
Возможно сделать все. Вопрос времени