AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.04.2011, 10:38   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Если я правильно понял, то основное правило работы с Security Keys заключается в следующем
  1. На сам Security Keys не дается вообще никаких прав. Полный запрет. Уровень доступа = "Нет доступа"
  2. Права даются на объекты, подключенные к соответствующему Security Keys
Все остальное - это уже следствие данного правила, тонкости реализации и ошибки функционала.

Другими словами Security Key выполняется функцию не собственно назначения прав, а всего-лишь предоставляет возможность настроить права подчиненных объектов. Делает не вполне то, для чего был задуман. Перестал быть "работягой" и стал "начальником"
Старый 20.04.2011, 11:10   #2  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Если я правильно понял, то основное правило работы с Security Keys заключается в следующем
  1. На сам Security Keys не дается вообще никаких прав. Полный запрет. Уровень доступа = "Нет доступа"
  2. Права даются на объекты, подключенные к соответствующему Security Keys
Все остальное - это уже следствие данного правила, тонкости реализации и ошибки функционала.

Другими словами Security Key выполняется функцию не собственно назначения прав, а всего-лишь предоставляет возможность настроить права подчиненных объектов. Делает не вполне то, для чего был задуман. Перестал быть "работягой" и стал "начальником"
До Ax2009 все было так, в принципе.
- Если не считать кое где явную проверку прав на ключ в коде некоторого функционала (hasSecuritykeyAccess), в том числе самописного.
- Если не считать, что некоторые "Умельцы" которые делали Российский функционал в Ax3.0 "вешали" ключ прямо на меню (а не на MenuItem, это касалось например, модуля "зарплата")
В этих случаях приходится давать права на ключ а не на объект.

В Ax2009 применили странную систему. С одной стороны старая система проверки прав на объекты осталась. С другой стороны ряд функционала, (о которой описано выше) требует права на ключи а не на объекты. Например система "AOSAuthorization" работает только с правами на ключи, а не на объекты, и не всегда это легко "обойти".

Например в форме настройки стандартного фильтра Ax2009 при попытке "присоединить" источник данных другой таблицы (n:1 или 1:n) пользователь "увидит" только те таблицы, на КЛЮЧ которых у него есть права, а не на ОБЪЕКТ таблицы, на которую имеет доступ.

И еще одна особенность AX2009 по сравнению, например с Ax3.0.
Если ранее loockup поля "открывались" даже на те таблицы, на которые у пользователя прав нет, то в Ax2009 lookup так же проверяет права доступа. Если доступа на таблицу нет - открывается "пустой" lookup.
Старый 20.04.2011, 11:18   #3  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от someOne Посмотреть сообщение
И еще одна особенность AX2009 по сравнению, например с Ax3.0.
Если ранее loockup поля "открывались" даже на те таблицы, на которые у пользователя прав нет, то в Ax2009 lookup так же проверяет права доступа. Если доступа на таблицу нет - открывается "пустой" lookup.
Ну как же так? Даже не поленился проверить. На какой версии 3.0 в лукапе можно увидеть данные из недоступной таблицы?
__________________
Ivanhoe as is..
Старый 20.04.2011, 12:04   #4  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Ну как же так? Даже не поленился проверить. На какой версии 3.0 в лукапе можно увидеть данные из недоступной таблицы?
Только что проверил - все так.
Воспроизвел на ax3.0 Build #1951.3730/514-193 sp3/OP023-71

Приложение без всяких модификаций.

1. Создал новую группу.Нового пользователя.

2. Дал права на таблицу заказы, строки заказа, меню форму заказы. Это все.

3. Открываю под пользователем test - вижу данные из таблицы "способ поставки"
Миниатюры
Нажмите на изображение для увеличения
Название: 2.JPG
Просмотров: 1214
Размер:	27.4 Кб
ID:	6769   Нажмите на изображение для увеличения
Название: 3.JPG
Просмотров: 1404
Размер:	67.0 Кб
ID:	6770  

Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 1228
Размер:	75.7 Кб
ID:	6771  
Старый 20.04.2011, 12:25   #5  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от someOne Посмотреть сообщение
Только что проверил - все так.
Воспроизвел на ax3.0 Build #1951.3730/514-193 sp3/OP023-71
[/IMG]
Я на SP6 проверял.
Для чистоты эксперимента приложите скриншот с "Просмотр" не "Главное меню", а "Контроль доступа" и раскрытой веткой Основное / Таблицы и желательно там же таблицу "Способ поставки". Спасибо.
__________________
Ivanhoe as is..
Старый 20.04.2011, 12:45   #6  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Я на SP6 проверял.
Для чистоты эксперимента приложите скриншот с "Просмотр" не "Главное меню", а "Контроль доступа" и раскрытой веткой Основное / Таблицы и желательно там же таблицу "Способ поставки". Спасибо.
Прилагаю.

Там на одном экране запущенная аксапта от имени Admin и test
Никакого обмана - сначала настроенные права (сохранил), - затем - откртие от имени test
Миниатюры
Нажмите на изображение для увеличения
Название: 5.GIF
Просмотров: 506
Размер:	111.2 Кб
ID:	6773  
Старый 20.04.2011, 12:55   #7  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от someOne Посмотреть сообщение
Прилагаю.

Там на одном экране запущенная аксапта от имени Admin и test
Никакого обмана - сначала настроенные права (сохранил), - затем - откртие от имени test
Если придираться - то я просил ветку "Основное", т.к. способы поставки именно там. Но не верить вам у меня причин нет. Значит это явная ошибка SP3.
__________________
Ivanhoe as is..
Старый 20.04.2011, 11:39   #8  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Продолжаем эксперимент

Цитата:
Сообщение от someOne Посмотреть сообщение
Например в форме настройки стандартного фильтра Ax2009 при попытке "присоединить" источник данных другой таблицы (n:1 или 1:n) пользователь "увидит" только те таблицы, на КЛЮЧ которых у него есть права, а не на ОБЪЕКТ таблицы, на которую имеет доступ.
Такое поведение не повторяется (ru6):
Миниатюры
Нажмите на изображение для увеличения
Название: Связь1.gif
Просмотров: 469
Размер:	33.1 Кб
ID:	6767   Нажмите на изображение для увеличения
Название: Связь2.gif
Просмотров: 409
Размер:	24.9 Кб
ID:	6768  

Изображения
 
__________________
Ivanhoe as is..
Старый 20.04.2011, 12:33   #9  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Продолжаем эксперимент



Такое поведение не повторяется (ru6):
Продолжаем...

На Ax2009 RU6

Из этого видно, что право на картотеку номенклатуры у пользователя есть,
однако добавить эту таблицу в настройку фильтра в форме "заказы" он не может.
Миниатюры
Нажмите на изображение для увеличения
Название: 4.GIF
Просмотров: 473
Размер:	108.2 Кб
ID:	6772  
Старый 20.04.2011, 13:09   #10  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от someOne Посмотреть сообщение
Продолжаем...
На Ax2009 RU6
Из этого видно, что право на картотеку номенклатуры у пользователя есть,
однако добавить эту таблицу в настройку фильтра в форме "заказы" он не может.
А у пользователя есть права на таблицу xRefTableRelation??
__________________
Ivanhoe as is..
Старый 20.04.2011, 14:17   #11  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А у пользователя есть права на таблицу xRefTableRelation??
В этом случае как раз права на таблицу xRefTableRelation ничего не дадут.
Даже если вы откроете права на эту таблицу то при попытке пользователем открыть диалог добавления таблицы в источник данных получите сообщение как показано ниже. Поэтому решить проблему может лишь открытие права целиком на ключ SysDevelopmentTables, либо отключение свойства AOSAuthorization таблицы xRefTableRelation с CreateReadUpdateDelete на None. Это сделано. И этого не достаточно.

Вне зависимости от варианта решения, пользователь все равно "видит" не все таблицы, а только те, на которых вообще нет никакого ключа, либо те таблицы, на ключ которых он имеет право, но не на объект (таблицу).

Проверил еще раз на НЕ модифицированном приложении ax2009 ru6
Изображения
 
Теги
ax2009, security, securitykey, как правильно, права доступа

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как правильно хранить статичный набор начальных данных в классах? mazzy DAX: Программирование 58 14.04.2011 12:10
зачем в dax2009 запретили создавать новые партии и серийники по строке журнала спецификации ? Logger DAX: Функционал 3 05.01.2011 19:18
Префиксы-суффиксы. Какой инструмент лучше использовать чтобы избавиться от префиксов? mazzy DAX: Программирование 48 28.10.2010 10:54
aEremenko: Как правильно подобрать оборудование и понять, сколько оно будет стоить? Blog bot DAX Blogs 0 17.04.2007 12:00
как правильно использовать not like polygris DAX: Программирование 1 06.05.2006 16:59

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:41.