Текущее время: Вс, июн 09 2024, 13:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Разграничение полномомочий на юниверс по орг.структуре
СообщениеДобавлено: Ср, окт 30 2013, 12:37 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, окт 30 2013, 12:28
Сообщения: 5
Доброе время суток!
Подскажите, пожалуйста, как правильно разграничить полномочия на юниверс в Средстве дизайна информации в соответствии с орг.структурой предприятия?
Я настроила уровни безопасности данных (по полю таблицы). И такое ограничение работает. Но дело в том, что в предприятии более 700 орг.единиц и в СМС создано 700 групп пользователей? И каждый раз создавать уровни безопасности для нового юниверса - проблематично.
Я в этом дело новичок. Если неправильно использовала терминологию - простите за ранее.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разграничение полномомочий на юниверс по орг.структуре
СообщениеДобавлено: Ср, окт 30 2013, 14:06 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, июн 25 2007, 22:27
Сообщения: 95
Пол: Мужской
Можно попробовать где-то в БД, над которой строится юниверс, положить табличку с полным перечислением подразделений, доступных для пользователей либо групп пользователей. И во всех юниверсах фильтровать список доступных подразделений одинаковым запросом к этой табличке.
Тогда в ограничения прав на уровне юниверса пишем примерно такой селект:
select distinct orgunit from access_table where user_id = @variable('BOUSER')
Если вести соответствие на уровне групп пользователей, то и в таблицу и в селект добавятся еще эти группы, но общая идея та же.

При этом встанет ряд очевидных проблем вроде защиты этой таблички от правки кем попало, средств ее ведения-заполнения и т.д. Но иногда это единственный вариант, если количество возможных уровней доступа и частота их правки велики.

У нас был еще более тяжелый вариант - возможных сочетаний пользователь-подразделение было существенно больше, причем права нужно было определять по иерархии оргструктуры, вдобавок разным для разных отчетов способом. Решили примерно так же, как я описал, но поскольку невозможно было сделать статичную таблицу с полным перечислением всех полномочий, то сделали хранимую процедуру, в которую передавался логин пользователя и тип отчета, в нее запихнули всю логику обхода иерархии, она на выходе возвращала список доступных подразделений. И на нее ссылался запрос в ограничении прав в юниверсе.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разграничение полномомочий на юниверс по орг.структуре
СообщениеДобавлено: Ср, окт 30 2013, 14:21 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, окт 30 2013, 12:28
Сообщения: 5
evm написал:
Можно попробовать где-то в БД, над которой строится юниверс, положить табличку с полным перечислением подразделений, доступных для пользователей либо групп пользователей. И во всех юниверсах фильтровать список доступных подразделений одинаковым запросом к этой табличке.
Тогда в ограничения прав на уровне юниверса пишем примерно такой селект:
select distinct orgunit from access_table where user_id = @variable('BOUSER')
Если вести соответствие на уровне групп пользователей, то и в таблицу и в селект добавятся еще эти группы, но общая идея та же.

При этом встанет ряд очевидных проблем вроде защиты этой таблички от правки кем попало, средств ее ведения-заполнения и т.д. Но иногда это единственный вариант, если количество возможных уровней доступа и частота их правки велики.

У нас был еще более тяжелый вариант - возможных сочетаний пользователь-подразделение было существенно больше, причем права нужно было определять по иерархии оргструктуры, вдобавок разным для разных отчетов способом. Решили примерно так же, как я описал, но поскольку невозможно было сделать статичную таблицу с полным перечислением всех полномочий, то сделали хранимую процедуру, в которую передавался логин пользователя и тип отчета, в нее запихнули всю логику обхода иерархии, она на выходе возвращала список доступных подразделений. И на нее ссылался запрос в ограничении прав в юниверсе.


Спасибо! Попробую так настроить. Если получится-отпишусь :D


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Разграничение полномомочий на юниверс по орг.структуре
СообщениеДобавлено: Чт, окт 31 2013, 10:00 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, окт 30 2013, 12:28
Сообщения: 5
rizaya_anya написал(а):
evm написал:
Можно попробовать где-то в БД, над которой строится юниверс, положить табличку с полным перечислением подразделений, доступных для пользователей либо групп пользователей. И во всех юниверсах фильтровать список доступных подразделений одинаковым запросом к этой табличке.
Тогда в ограничения прав на уровне юниверса пишем примерно такой селект:
select distinct orgunit from access_table where user_id = @variable('BOUSER')
Если вести соответствие на уровне групп пользователей, то и в таблицу и в селект добавятся еще эти группы, но общая идея та же.

При этом встанет ряд очевидных проблем вроде защиты этой таблички от правки кем попало, средств ее ведения-заполнения и т.д. Но иногда это единственный вариант, если количество возможных уровней доступа и частота их правки велики.

У нас был еще более тяжелый вариант - возможных сочетаний пользователь-подразделение было существенно больше, причем права нужно было определять по иерархии оргструктуры, вдобавок разным для разных отчетов способом. Решили примерно так же, как я описал, но поскольку невозможно было сделать статичную таблицу с полным перечислением всех полномочий, то сделали хранимую процедуру, в которую передавался логин пользователя и тип отчета, в нее запихнули всю логику обхода иерархии, она на выходе возвращала список доступных подразделений. И на нее ссылался запрос в ограничении прав в юниверсе.


Сделали всё, как Вы сказали! Работает! Огромное спасибо! Вы ОЧЕНЬ помогли!

Спасибо! Попробую так настроить. Если получится-отпишусь :D


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB