![]() |
#1 |
Участник
|
Безопасность на уровне записей
Здравствуйте!
Стоит задача настроить доступ пользователям так, чтобы менеджеры могли видеть только свои заказы на покупку/продажу (Dynamix AX 4.0). Нецелесообразно для каждого менеджера создавать отдельную группу прав и в Безопасности на уровне записей жестко задавать фильтр по полю Автор. Этот вопрос обсуждался ранее в теме Одновременный доступ к заказу 2х пользователей. Может быть, что-то изменилось с тех пор, или кто-нибудь иначе настроил доступ к своим записям для пользователя без программирования и используя всего одну группу прав доступа для заказов? Последний раз редактировалось Andromache; 14.02.2008 в 08:29. |
|
![]() |
#2 |
Участник
|
Прошу прощения, искала ответ на другой вопрос и нашла еще несколько тем с описанием такой проблемы.
Остался только вопрос, что такое RLS? |
|
![]() |
#3 |
MCTS
|
RLS - Record Level Security
права доступа на уровне записей, т. е. для групп пользователей настраиваются фильтры для записей таблиц, которые они могут читать / редактировать / удалять |
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
SAP
|
Недавно боролся с похожей задачей менеджерам необходимо было видеть только свою информацию и информацию своих подчиненных (по вертикали). Без программной доработки не обошлось
![]() |
|
![]() |
#6 |
Member
|
Не изменилось ничего с тех пор.
__________________
С уважением, glibs® |
|
![]() |
#7 |
Участник
|
А не в курсе, есть ли изменения в 5-ке по этому поводу?
__________________
С уважением Шатохин Святослав. |
|
![]() |
#8 |
Участник
|
Вряд ли, иначе б уже раструбили об этом
![]() |
|
![]() |
#9 |
Member
|
Корректно — это как? В каждой компании он применит фильтры соответствующей компании?
__________________
С уважением, glibs® |
|
![]() |
#10 |
Участник
|
В 2009 появилась функция currentUserId() в критериях запросов. Используя ее можно настроить, чтобы пользователи видели только свои записи (по полю CreatedBy). Просмотр работает.
Но при попытке создать запись, пишет ошибку: Цитата:
Невозможно создать запись в Заказы на продажу (SalesTable).
Отказано в доступе для создания записи в таблице, поскольку задан критерий фильтра для безопасности на уровне строки.
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2), gl00mie (2). |
![]() |
#11 |
Administrator
|
Цитата:
Сообщение от Ivanhoe
![]() В 2009 появилась функция currentUserId() в критериях запросов. Используя ее можно настроить, чтобы пользователи видели только свои записи (по полю CreatedBy). Просмотр работает.
Но при попытке создать запись, пишет ошибку: Я так понимаю сначала происходит проверка RLS и только после этого заполняется поле CreatedBy. Получается, что использование такой штуки возможно только со своим полем "createdby", заполняемым до сохранения записи.
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: belugin (3), Ivanhoe (3). |
![]() |
#12 |
Участник
|
Если кому интересно, новые функции для Range прописываются в классе SysQueryRangeUtil - там есть еще удобные, например, текущий сотрудник, разные функции по датам. Изначально, я так понимаю, они сделаны для Cues - новый объект 2009, который позволяет создавать "стопки документов для обработки" в ролевом центре.
У меня в голове крутится, что в AX 2009 сделана настройка что-то типа "Показывать только автору", которая ставит фильтр на текущего пользователя по полю CreatedBy. Но вот вчера навскидку не нашел такой галки - может кто подскажет? Очень похоже, что это сделано в журналах ГК (по ним нашел только ограначение разноски по пользователям, задается в наименовании журнала), но саму галку не могу найти ![]() upd: есть фильтр в журнале ГК "Показывать только созданное пользователем", но мне казалось, что есть жесткая галка в параметрах...
__________________
Ivanhoe as is.. Последний раз редактировалось Ivanhoe; 11.03.2010 в 10:05. Причина: upd |
|
|
За это сообщение автора поблагодарили: sukhanchik (4), Atar (1), Stainless (1). |
![]() |
#13 |
MCTS
|
Похоже в DAX 2009 все же есть некоторые изменения. В отличие от DAX 4.0 не работает ограничение RLS, если пользователь входит также в группу, дающую более полные права на данную таблицу, в частности вообще не ограниченные RLS.
|
|
![]() |
#14 |
Участник
|
|
|
![]() |
#15 |
Moderator
|
Цитата:
|
|
|
За это сообщение автора поблагодарили: alex55 (1). |
![]() |
#16 |
MCTS
|
Цитата:
Сообщение от fed
![]() В общем - знакомые из Турции сказали что после того как они накатили одно из самоновейших обновлений к DAX2009, схема работы с RLS вернулась к тому что было в 4ке. Они такой засады не ожидали (и даже не знали как криво все работало в 3ке-4ке) и, мягко говоря, были расстроены. Оказалось что даже в readme к hotfixу было написано что мол по просьбам пользователей возвращаем
|
|
![]() |
#17 |
Участник
|
ИМХО отследить урезание проще, чем почему права не работают.
То есть, схема ах3 и 4 привычнее - это факт. Просто нужно использовать минимум две группы прав Одну на функционал, другую только под РЛС, включив там таблицы, а то он не работает, если ключа на таблице нет в этой группе. Вот это как раз неудобно и лучше бы исправили. А ситуация, когда пользователь в нескольких группах и где-то РЛСа нет, а таблица включена - равнозначно, что РЛС просто не сработает? И это сейчас в ах2009 так? Тогда это правильный багфикс. |
|
![]() |
#18 |
Moderator
|
Ну в общем - я всех подробностей не помню, но клиент мне сказал что мол мы для обычных закуперов настроили через RLS закупки по конкретным поставщикам, а для крутых закуперов не настроили RLS вообще и они видели все закупки. До хотфикса все работало, после хотфикса - крутым закуперам вообще закупки перестали показываться. Неужели такое поведение было в версиях 3 и 4 ?
Я клиенту сказал что-то типа: "Вот именно поэтому я нигде и не пользовался RLS..." Просто этот турецкий клиент сидит на расширенной поддержке, (которая в России формально есть но которую, похоже что, никто так и не купил). Дык им их менеджер в MS регулярно присылает вышедшие обновления, нудно спрашивает - накатили ли они их, и если в обновлении есть какие-то грабли (типа изменившегося поведения RLS) то в письме написано про то что прежде чем ставить надо подготовиться. Цитата:
А есть ли возможность узнать более подробную инфу по данному обновлению?
Последний раз редактировалось fed; 12.03.2010 в 18:02. |
|
![]() |
#19 |
MCTS
|
Цитата:
Сообщение от fed
![]() Ну в общем - я всех подробностей не помню, но клиент мне сказал что мол мы для обычных закуперов настроили через RLS закупки по конкретным поставщикам, а для крутых закуперов не настроили RLS вообще и они видели все закупки. До хотфикса все работало, после хотфикса - крутым закуперам вообще закупки перестали показываться. Неужели такое поведение было в версиях 3 и 4 ?
Я клиенту сказал что-то типа: "Вот именно поэтому я нигде и не пользовался RLS..." Окей, спасибо! |
|
![]() |
#20 |
Moderator
|
Кстати про разницу поведения DAX4 и DAX2009 вот здесь писали:
http://blogs.msdn.com/emeadaxsupport...s-ax-2009.aspx Если я правильно понимаю, после какого-то хотфикса поведение 4ки и 2009ой унифицировали |
|
Теги |
ax2009, ax4.0, rls, доступ на уровне записей, как правильно |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|