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