|
![]() |
#1 |
Участник
|
Права доступа к таблице DataArea
Люди, подскажите где в настройке прав доступа найти таблицу DataArea?
![]() |
|
![]() |
#2 |
Участник
|
Нашли: Администрирование\Открытие доступа к домену
|
|
![]() |
#3 |
MCTS
|
Создал Домен, в который входят 2 компании. Какие минимальные права необходимы, чтобы при выборе списка компаний можно было выбрать только эти компании? Сделал следующим образом, создал новую группу пользователей. Вошел в настройку прав, выбрал эту группу, выбрал вышеуказанный домен, переключился на настройку прав, полностью отключил доступ и дал права на просмотр только на Выбор компании. Когда вхожу под пользователем данной группы в списке компаний ничего нет, хотя вроде как должен видеть 2 компании. При включении доступа Администрирование\Открытие доступа к домену начинают отображаться все компании.
|
|
![]() |
#4 |
Аманд
|
http://www.amand.ru/modules/wordpress/archives/47
Статья по AX 3.0, но идеология не изменилась. Если будет время - поправлю картинки для ax 4.0 |
|
![]() |
#5 |
MCTS
|
Значит раз таблица dataArea не относится ни к какой компании, то определить доступ к ней с помощью доменов не получится. Тогда подскажите хотя бы, как сделать так, чтобы пользователь видел все компании, но при этом не включать ключ доступа Администрирование\Открытие доступа к домену. Вроде все перепробовал, но либо светится одна DAT (при настройке в домене Admin), либо вообще ничего (при настройке прав в другом домене). Почему не работает ключ доступа Выбор компании ?
|
|
![]() |
#6 |
Administrator
|
Потому что "гладиолус"
![]()
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: Logger (2), Eldar9x (1). |
![]() |
#7 |
Модератор
|
Цитата:
Какие минимальные права необходимы, чтобы при выборе списка компаний можно было выбрать только эти компании?
На SysDataAreaSelect повешен SecurityKey (какой - не так важно, лишь бы не пустой, чтобы можно было доступом рулить, в нашем случае - AdminMisc) Создана группа для переключения между компаниями, у нее единственная запись для этого домена в AccessRightsList - SysDataAreaSelect) Минималистичнее вроде уже некуда ![]()
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: Logger (2). |
![]() |
#8 |
Administrator
|
Цитата:
Сообщение от Vadik
![]() Как сделано у нас (DAX 4.0):
На SysDataAreaSelect повешен SecurityKey (какой - не так важно, лишь бы не пустой, чтобы можно было доступом рулить, в нашем случае - AdminMisc) Создана группа для переключения между компаниями, у нее единственная запись для этого домена в AccessRightsList - SysDataAreaSelect) Минималистичнее вроде уже некуда ![]()
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#9 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Eldar9x (1). |
![]() |
#10 |
Модератор
|
Цитата:
Цитата:
Vadik, у меня так не получилось
![]() Настраивалась/тестировалась эта схема "с колес" на спецпользователе, у которого в этот момент никаких прав кроме SYSDATAAREASELECT не было (ИЧСХ схема работала, т.е. список компаний фильтровался). В этом виде и ушло в продакшен (т.е. с момента постановки задачи в виде "а разве у нас этого еще нет?" до реализации менее часа), где и проработало неделю, после чего всплыла тема на форуме. Начал пересматривать настройку - НЕ РАБОТАЕТ! Как только у пользователя появляются в компании/домене какие-то права - компания автоматически появляется в списке SYSDATAAREASELECT. Специфика такова, что все права настраиваются в домене Admin (обеими руками за идеологичиски выдержанные цветные картинки с доменами, но реальность такова - структура секьюрных групп одна и та же во всех компаниях, число групп переваливает за сотню, компаний много, как обычных, так и виртуальных, и для поддержки этого монстра с использованием доменов потребовалось бы несколько выделенных security officer-ов) В итоге а) быстро была допилена SYSDATAAREASELECT на предмет наличия доступа в компанию, если надо - могу выложить б) были созданы фиктивные домены, единственная запись в ACCESSRIGHTSLIST для них - SYSDATAAREASELECT
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#11 |
Участник
|
Цитата:
Если не включено открытие доступа к домену, то для того чтобы компания была в списке доступных для пользователя, для него должно быть хоть что-нибудь открыто в этой компании. Если же для него в компании все закрыто - нет никакого доступа - то и в списке она не появляется. Правда есть неприятное исключение из этого правила - оно не действует на компании с русскими буквами в коде - почему непонятно. Т.е. компании с русскими буквами в коде, могут по непонятным причинам скрываться при формировании списка для выбора. Я так и не смог с этим разобраться - почему так получается. Ставил логирование запросов к БД - запрос уходит корректный без дополнительных фильтров. Функция \Classes\xDataArea\checkAccessible возвращает что компания доступна пользователю, а в списке на форме SysDataAreaSelect она скрывается - почему непонятно. Для себя я решил, что если компании называются латинскими буквами или цифрами то описанное правило всегда работает. Так что лучше не использовать русские буквы в названии. P.S. Я бы на самом деле в кодах компании использовал только цифры, потому что помимо указанного глюка еще есть куча мест в коде при формировании прямых запросов к БД, которые могут глючить для базы данных Оракл, так как не учитывают при формировании запроса приведение к нужному регистру полей при наложении условий фильтрации. Для цифровых кодов этот глюк не будет сказываться. Правда для этой темы это уже оффтопик ![]() Последний раз редактировалось Logger; 29.04.2009 в 12:21. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2), aidsua (1). |
![]() |
#12 |
MCTS
|
Ладно, раз не работает, то хрен с ним. Тогда как добиться отображения всех компаний в выборе? Включать Администрирование\Открытие доступа к домену? Или есть другой какой-то способ/ключ.
|
|
![]() |
#13 |
MCTS
|
Цитата:
Это Вы рулите так в принципе доступом к выбору всех компаний. Речь-то шла о том (как я понял), чтобы из 5 компаний (к примеру) пользователь имел право переходить только к трем.
|
|
![]() |
#14 |
MCTS
|
Цитата:
Если не включено открытие доступа к домену, то для того чтобы компания была в списке доступных для пользователя, для него должно быть хоть что-нибудь открыто в этой компании. Если же для него в компании все закрыто - нет никакого доступа - то и в списке она не появляется.
Правда есть неприятное исключение из этого правила - оно не действует на компании с русскими буквами в названии - почему непонятно. Т.е. компании с русскими буквами в коде, могут по непонятным причинам скрываться при формировании списка для выбора. |
|
![]() |
#15 |
MCTS
|
![]() |
|
![]() |
#16 |
Участник
|
А переименование первичного ключа не пробовали использовать?
|
|
![]() |
#17 |
MCTS
|
|
|
![]() |
#18 |
Участник
|
А оно входит
X++: static void Job487(Args _args) { ; // info(fieldid2Name(TableNum(salesTable), New DictTable(tableNum(salesTable)).primaryKeyField())); info(fieldid2Name(TableNum(DataArea), New DictTable(tableNum(DataArea)).primaryKeyField())); } |
|
![]() |
#19 |
MCTS
|
Попробовал, renamePrimaryKey не работает для DataAreaId. Например, в складах, поле так и не изменилось.
|
|
![]() |
#20 |
Administrator
|
В 4-ке есть такая фишка как дублирование компаний. Это конечно не самый лучший вариант - но по кр мере штатный (старую компанию потом можно будет и удалить)
__________________
Возможно сделать все. Вопрос времени |
|
Теги |
dataarea, sysdataareaselect, права доступа, ax3.0 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|