Цитата:
Сообщение от
ZooY
Потому что вызвать его может любой пользователь. Защита основана только на том, что пользователь не знает ключей настроек.
По поводу сущностей, есть одна проблема. Давай всем пользователям доступ к сущности настроек - это значит любой пользователь через расширенный поиск или импорт сможет все посмотреть.
Если права на чтение будут только у админа, значит для каждого шага плагина, который использует настройки нужно указывать этого пользователя в Run in user's context, чтобы от имени этого пользователя можно было обратиться к настройкам. А значение этого поля при переносе со среды на среду может слетать.
При инстанциации сервиса в коде плагина у вас есть 2 варианта - передавать гуид пользователя или нет. Если передаете - то сервис инстанциируется с правами пользователя. А вот если в метод не передано ничего у вас по сути сервис с админскими правами - доступайтесь до чего надо. Так что ваша "проблема" доступа к настроечной сущости решается именно таким образом:
1. Все настройки хранятся в кастономной сущности (одна запись и много полей или много записей типа пара ключ/значение - на ваше усмотрение).
2. У обычных пользователей нет прав на зачитку этих сущностей.
3. В коде плагинов при помощи подхода, указанного ранее, получаете доступ к настройкам вне зависимости от того, кто вызвал запуск плагина - простой юзер или юзер с доступом к настройкам.