Автоматическая выдача прав
В простейшем случае «1С:Исполнитель» создает систему прав, которая не требует программирования. Права контролируются на уровне элементов пр оекта для нескольких предопределенных категорий пользователей.
Предопределенные ключи доступа
В «Исполнителе» существует три предопределенных ключа доступа, каждый из которых имеет единственный экземпляр:
КлючДоступаДляВсех
— этот экземпляр ключа «Исполнитель» автоматически выдает всем пользователям, в том числе анонимным;
Коротко о том, кто такой анонимный пользователь. Интерфейсные компоненты:
- СтандартноеКлиентскоеПриложениеСРазделами и
- ПроизвольноеКлиентскоеПриложение
имеют свойство
РежимАутентификации
. Стандартно это свойство имеет значениеАутентифицированный
, но вы можете установить его в значениеНеАутентифицированный
и тогда пользователь не будет перенаправлен на страницу аутентификации при входе в приложение, то есть будет анонимным. Такого пользователя не будет в списке подключенных пользователей иПользователи.ТекущийПользователь
будет возвращатьНеопределено
.
КлючДоступаДляАутентифицированных
— этот экземпляр ключа «Исполнитель» автоматически выдает всем пользователям приложения кроме анонимных;КлючДоступаДляАдминистратора
— этот экземпляр ключа «Исполнитель» автоматически выдает всем пользователям приложения, являющимся его администраторами (свойство подключенного пользователяПользователи.Объект.Администратор
).
Пер ечисленные экземпляры ключей «Исполнитель» использует самостоятельно, об этом будет рассказано далее.
Кроме перечисленных ключей в «Исполнителе» существует еще один предопределенный ключ доступа КлючДоступаПользователя
. Этот класс имеет параметр Пользователь. Благодаря этому параметру ключ имеет столько экземпляров (экземпляров класса), сколько существует подключенных пользователей. «Исполнитель» поддерживает уникальность экземпляров ключей по набору значений их параметров и, значит, для каждого пользователя она будет создавать свой уникальный экземпляр ключа. Например, экземпляр ключа для текущего пользователя:
пер ЭкземплярКлюча = новый КлючДоступаПользователя.Объект(Пользователи.ТекущийПользователь)
В отличие от перечисленных выше трех ключей, экземпляры ключа КлючДоступаПользователя
«Исполнитель» самостоятельно только выдает пользователям, но никак не связывает с элементами проекта (не создает разрешения доступа). Вы можете самостоятельно создать разрешения, если ваша система прав построена таким образом, что конкретное право нужно ставить в соответствие конкретному пользователю, без промежуточных понятий типа «роль» и т. п. (подробнее).