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