|
![]() |
#1 |
MCTS
|
Значит раз таблица dataArea не относится ни к какой компании, то определить доступ к ней с помощью доменов не получится. Тогда подскажите хотя бы, как сделать так, чтобы пользователь видел все компании, но при этом не включать ключ доступа Администрирование\Открытие доступа к домену. Вроде все перепробовал, но либо светится одна DAT (при настройке в домене Admin), либо вообще ничего (при настройке прав в другом домене). Почему не работает ключ доступа Выбор компании ?
|
|
![]() |
#2 |
Administrator
|
Потому что "гладиолус"
![]()
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: Logger (2), Eldar9x (1). |
![]() |
#3 |
Модератор
|
Цитата:
Какие минимальные права необходимы, чтобы при выборе списка компаний можно было выбрать только эти компании?
На SysDataAreaSelect повешен SecurityKey (какой - не так важно, лишь бы не пустой, чтобы можно было доступом рулить, в нашем случае - AdminMisc) Создана группа для переключения между компаниями, у нее единственная запись для этого домена в AccessRightsList - SysDataAreaSelect) Минималистичнее вроде уже некуда ![]()
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: Logger (2). |
![]() |
#4 |
Administrator
|
Цитата:
Сообщение от Vadik
![]() Как сделано у нас (DAX 4.0):
На SysDataAreaSelect повешен SecurityKey (какой - не так важно, лишь бы не пустой, чтобы можно было доступом рулить, в нашем случае - AdminMisc) Создана группа для переключения между компаниями, у нее единственная запись для этого домена в AccessRightsList - SysDataAreaSelect) Минималистичнее вроде уже некуда ![]()
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#5 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Eldar9x (1). |
![]() |
#6 |
Модератор
|
Цитата:
Цитата:
Vadik, у меня так не получилось
![]() Настраивалась/тестировалась эта схема "с колес" на спецпользователе, у которого в этот момент никаких прав кроме SYSDATAAREASELECT не было (ИЧСХ схема работала, т.е. список компаний фильтровался). В этом виде и ушло в продакшен (т.е. с момента постановки задачи в виде "а разве у нас этого еще нет?" до реализации менее часа), где и проработало неделю, после чего всплыла тема на форуме. Начал пересматривать настройку - НЕ РАБОТАЕТ! Как только у пользователя появляются в компании/домене какие-то права - компания автоматически появляется в списке SYSDATAAREASELECT. Специфика такова, что все права настраиваются в домене Admin (обеими руками за идеологичиски выдержанные цветные картинки с доменами, но реальность такова - структура секьюрных групп одна и та же во всех компаниях, число групп переваливает за сотню, компаний много, как обычных, так и виртуальных, и для поддержки этого монстра с использованием доменов потребовалось бы несколько выделенных security officer-ов) В итоге а) быстро была допилена SYSDATAAREASELECT на предмет наличия доступа в компанию, если надо - могу выложить б) были созданы фиктивные домены, единственная запись в ACCESSRIGHTSLIST для них - SYSDATAAREASELECT
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#7 |
Участник
|
Цитата:
Если не включено открытие доступа к домену, то для того чтобы компания была в списке доступных для пользователя, для него должно быть хоть что-нибудь открыто в этой компании. Если же для него в компании все закрыто - нет никакого доступа - то и в списке она не появляется. Правда есть неприятное исключение из этого правила - оно не действует на компании с русскими буквами в коде - почему непонятно. Т.е. компании с русскими буквами в коде, могут по непонятным причинам скрываться при формировании списка для выбора. Я так и не смог с этим разобраться - почему так получается. Ставил логирование запросов к БД - запрос уходит корректный без дополнительных фильтров. Функция \Classes\xDataArea\checkAccessible возвращает что компания доступна пользователю, а в списке на форме SysDataAreaSelect она скрывается - почему непонятно. Для себя я решил, что если компании называются латинскими буквами или цифрами то описанное правило всегда работает. Так что лучше не использовать русские буквы в названии. P.S. Я бы на самом деле в кодах компании использовал только цифры, потому что помимо указанного глюка еще есть куча мест в коде при формировании прямых запросов к БД, которые могут глючить для базы данных Оракл, так как не учитывают при формировании запроса приведение к нужному регистру полей при наложении условий фильтрации. Для цифровых кодов этот глюк не будет сказываться. Правда для этой темы это уже оффтопик ![]() Последний раз редактировалось Logger; 29.04.2009 в 12:21. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2), aidsua (1). |
Теги |
dataarea, sysdataareaselect, права доступа, ax3.0 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|