10.03.2004, 18:36 | #1 |
Участник
|
Настройка прав доступа к записям
есть ли возможность в Axapta 3.0 sp2 настроить доступ к записям группе пользователей так, чтобы определенную запись видела только эта группа?
например журнал в ГК видели только нужные люди и никто другой его не увидит ни через меню ни через печать журналов. |
|
10.03.2004, 19:14 | #2 |
Moderator
|
Существует функциональность, причем именно с таким названием.
Только она закупается отдельно. Если куплена - смотрите в модуле администрирование. |
|
12.03.2004, 17:30 | #3 |
Участник
|
а можно подробнее про модуль RecordLevelSecurity?
описания найти не смог, а покупать кота в мешке не хочется. хотелось бы услышать мнения тех, кто уже пользуется данной функциональностью |
|
12.03.2004, 17:45 | #4 |
NavAx
|
Есть такое внутреннее резюме, может кто поправит.
Настройка доступа на уровне записей Доступ на уровне записей (RLS) дополняет другие способы управления правами доступа в системе Axapta. Чтобы определять, какие данные будут видны определенному пользователю, можно применять ограничения. Ограничения автоматически применяются к любому отчету или форме, действующим в определенной таблице. RLS основан на группах пользователей и компаниях. Администратор системы может установить соответствующие ограничения на любое число таблиц в зависимости от группы пользователей. Подобные ограничения доступа действуют только в рамках текущей компании и поэтому допускают применение различных настроек для различных компаний. Если сотрудник относится к нескольким группам пользователей, его возможности доступа определяются ограничениями на таблицы и поля таблиц. Членство в группе без ограничений RLS дает полные права доступа к определенной таблице при условии, что сотрудник имеет полные права доступа к таблицам. В противном случае не предоставляется никаких прав доступа. При членстве в двух или более группах с различными ограничениями применяется расширенное множество привилегий. Например, если Группа1 дает доступ к счетам с номерами меньше 1000, а Группа2 - доступ к счетам с номерами больше 2000, пользователь получает доступ ко всем счетам, кроме находящихся в диапазоне 1000-2000. Ограничения RLS применяются только к "видимым данным". Данные, отображаемые в формах и отчетах, рассматриваются как "видимые", а данные, доступ к которым выполняется при вычислениях, таковыми не являются. Доступ на уровне записей основан на Группах пользователей и Компаниях. Он является дополнительным фильтром в отчетах и формах (дополнительное условие для select from Table where <тут, кроме установленных алгоритмом программы, добавляются настроенные условия>). Замечание1: Если есть необходимость ограничивать пользователей персонально, то можно для каждого пользователя создать персональную группу, которую использовать в Настройке доступа на уровне записей. Замечание2: Проблематично настроить доступы с использованием более одной группы. |
|
12.03.2004, 18:03 | #5 |
Member
|
Прежде всего, рекомендую воспользоваться поиском. На эту тему довольно много писали.
Цитата:
Изначально опубликовано raz
...Доступ на уровне записей (RLS) дополняет другие способы управления правами доступа в системе Axapta... Из тех ограничений, которые крутятся в голове. RLS не работает по связанным таблицам. RLS работает на уровне "вижу-не вижу". Ограничить доступ на уровне редактирования, создания и т.д. в нем нельзя. Настройка RLS на views технически возможна, но через это самое... Еще совсем недавно в RLS было очень мого багов. До СП2, на мой взгляд, они были весьма критичными.
__________________
С уважением, glibs® |
|
12.03.2004, 18:47 | #6 |
NavAx
|
Цитата:
Еще совсем недавно в RLS было очень мого багов. До СП2, на мой взгляд, они были весьма критичными
Это довольно не удобно, тем более, что надо и права для каждой настраивать. После n раза пришлось написать jobы, для облегчения процесса, т.е. для копирования как настроек RLS, так и прав. |
|
12.03.2004, 19:07 | #7 |
Member
|
Цитата:
Изначально опубликовано raz
...Можно подробнее...
__________________
С уважением, glibs® |
|
11.11.2009, 18:17 | #8 |
Участник
|
Цитата:
А то получается, что в поле через локап я могу выбрать с учетом настройки RLS, а прямо в поле я могу внести недоступные данные. Попытка на validateField выполнить свой селект не помогла. Селект выводит все записи независимо от RLS. |
|
11.11.2009, 18:47 | #9 |
MCITP
|
Цитата:
Сообщение от kia
А какие есть способы борьбы с этим? Можно ли программно подключить фильтр RLS к своему запросу?
А то получается, что в поле через локап я могу выбрать с учетом настройки RLS, а прямо в поле я могу внести недоступные данные. Попытка на validateField выполнить свой селект не помогла. Селект выводит все записи независимо от RLS. X++: _table_.recordLevelSecurity(true|false);
__________________
Zhirenkov Vitaly |
|
11.11.2009, 19:08 | #10 |
Участник
|
Я уже сделал, но через динамический Query.
Через таблице конечно проще. Спасибо |
|
26.04.2014, 06:23 | #11 |
Участник
|
Цитата:
Сообщение от raz
...При членстве в двух или более группах с различными ограничениями применяется расширенное множество привилегий. Например, если Группа1 дает доступ к счетам с номерами меньше 1000, а Группа2 - доступ к счетам с номерами больше 2000, пользователь получает доступ ко всем счетам, кроме находящихся в диапазоне 1000-2000. ...
Замечание2: Проблематично настроить доступы с использованием более одной группы. Имеем Ax3.0 Sp3, группу менеджеров (основную, изначальную), таблицу Клиенты. Необходимо ограничить доступ нескольких менеджеров к нескольким клиентам. Создавали доп.группу для этих менеджеров в которой устанавливали доступ на уровне записей на Клиент1 - не работает, а также !Клиент1 - не работает. Пробовали в основной группе менеджеров ограничивать допустим !Клиент1, а в дополнительной !Клиент2 - работает только что установлено в основной группе. Вообщем любые вариации в доп.группе не приводят к чему-либо, работает лишь то, что прописывается в основной группе |
|
Теги |
rls, права доступа на уровне записей (rls), record level security |
|
|