|
![]() |
#1 |
Участник
|
Цитата:
По поводу сущностей, есть одна проблема. Давай всем пользователям доступ к сущности настроек - это значит любой пользователь через расширенный поиск или импорт сможет все посмотреть. Если права на чтение будут только у админа, значит для каждого шага плагина, который использует настройки нужно указывать этого пользователя в Run in user's context, чтобы от имени этого пользователя можно было обратиться к настройкам. А значение этого поля при переносе со среды на среду может слетать. |
|
![]() |
#2 |
Чайный пьяница
|
Цитата:
Сообщение от ZooY
![]() Потому что вызвать его может любой пользователь. Защита основана только на том, что пользователь не знает ключей настроек.
По поводу сущностей, есть одна проблема. Давай всем пользователям доступ к сущности настроек - это значит любой пользователь через расширенный поиск или импорт сможет все посмотреть. Если права на чтение будут только у админа, значит для каждого шага плагина, который использует настройки нужно указывать этого пользователя в Run in user's context, чтобы от имени этого пользователя можно было обратиться к настройкам. А значение этого поля при переносе со среды на среду может слетать. 1. Все настройки хранятся в кастономной сущности (одна запись и много полей или много записей типа пара ключ/значение - на ваше усмотрение). 2. У обычных пользователей нет прав на зачитку этих сущностей. 3. В коде плагинов при помощи подхода, указанного ранее, получаете доступ к настройкам вне зависимости от того, кто вызвал запуск плагина - простой юзер или юзер с доступом к настройкам.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#3 |
Участник
|
Цитата:
Если пользователь не указан явно, то подставляется Calling User, т.е. в контексте плагина свойства UserId и InitiatingUserId равны и ссылаются на конченого пользователя (прав на чтение настроек у которого нет). Это логично с точки зрения безопасности, но создает проблему в случае с настройками. В принципе, нет проблемы указать привилегированного пользователя при настройках шага плагина, но проблема в том, что порой эта настройка не переноситься при переносе плагина решением. Возможно дело в каких то отличиях в именовании пользователя и возможно этот момент можно отладить. |
|
![]() |
#4 |
Чайный пьяница
|
Читаем внимательно это - https://docs.microsoft.com/en-us/dot...s-general-ce-9
А именно, цитирую: Код: When called in a plug-in, a null value indicates the SYSTEM user
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: ZooY (1). |