безопасность в attain
Столкнулся с проблемой настройки ввода бюджетов в соответствии с назначенными правами доступа.
1)Имеется бюджет."Бюджет Измерение 2 Код" данного бюджета = ЦФО.
Значения данного измерения следующие: ЦФО1, ЦФО2, ЦФО3, ЦФО4.
2)В системе заведены 4 пользователя. Каждый должен иметь право просматривать и редактировать только те строки бюджета которые имеют в "Бюджет Измерение 2 Код" код соответствующего ЦФО.
Т.е. пользователь1 должен иметь право просматривать и редактировать бюджетные операции по ЦФО1, пользователь2-ЦФО2, пользователь3-ЦФО3, пользователь4-ЦФО4.
3)для этого в системе были заведены 4 роли:
-ЦФО1
1)права доступа аналогичные роли ALL(стандартной)
добавлены:
2)права доступа на таблицу 95: Чтение - Да
3)права доступа на таблицу 96: Чтение-Да, Вставка-Да, Изменение-Да, Удаление-Да, Фильтр: G/L Budget Entry: "Бюджет Измерение 2 Код"=ЦФО1
4)права доступа на таблицу 361,367 и на остальные необходимые таблицы для простоты -все Да
-ЦФО2:
-//-
G/L Budget Entry: "Бюджет Измерение 2 Код"=ЦФО2
-//-
-ЦФО3:
-//-
G/L Budget Entry: "Бюджет Измерение 2 Код"=ЦФО3
-//-
-ЦФО4:
-//-
G/L Budget Entry: "Бюджет Измерение 2 Код"=ЦФО4
-//-
4)Заведены 4 пользователя им присвоены соответсвующие роли:
пользователь1-ЦФО1
пользователь2-ЦФО2
пользователь3-ЦФО3
пользователь4-ЦФО4
5)пользователь входит под своим логином.
6)Финансы->Бюджеты
появляется ошибка нарушения доступа: "Вы не имее права чтения для таблицы Фин. Бюджет Операция. Обратитесь к вашему систкмному администратору для изменения ваших прав доступа".Бюджетные операции изначально имеют разные значения в поле "Бюджет Измерение 2 Код"
причем если сделать к примеру, отдельную кнопку, которая открывает форму "G/L Budget Entries", то каждый пользователь видит только те записи которые ему назначены - что верно.
Путь решения остается один - дописать приблуду на подобие "пользователи настройка права доступа" - по аналогии с безопасностью стандартной. и каждый раз при открытии формы бюджетов, бюджетных операций накладывать соответствующий фильтр.точно также отслеживать и все производимые изменения.В общем - дублирование стандартной функциональности(по правам доступа) но работающей так как надо.
Никто не решал подобных задач без дописывания?Если есть какие нибудь соображения подскажите please.
|