Перейти к содержимому

Пользователи и права в 1С-Битрикс - обзор раздела

Пользователи, группы и права - механика, на которой держится всё разграничение доступа: и публичная часть, и админка, и API. В собранных вопросах разработчиков эта тема даёт 1067 обращений, больше чем инфоблоки.

Как устроено

Пользователь один на всю платформу. Учётная запись общая для публичной части и админки, и различает их не тип пользователя, а права. Отсюда типовая картина: человек авторизован на сайте, но в админку не пускает, потому что у его группы нет доступа к панели управления.

Права выдаются группам, а не людям. Пользователь входит в одну или несколько групп, права складываются, и побеждает наибольшее. Отдельному человеку права назначить нельзя нигде, кроме отдельных сущностей вроде элементов инфоблока с включённым расширенным управлением правами.

Уровней прав два, и они не связаны. Права на файлы и разделы структуры сайта живут в дереве каталогов, права на модули и их данные - в настройках самих модулей. Группа с полным доступом к разделу /catalog/ не получает от этого никаких прав на модуль торгового каталога.

Авторизация отделена от источника учётных записей. Пароль в базе сайта, доменная запись через NTLM, вход через соцсеть - всё это разные способы подтвердить, кто пришёл. После подтверждения дальше работает один и тот же пользователь с одними и теми же группами.

Сессия живёт своей жизнью. Авторизация записывает в сессию идентификатор пользователя, а помнит его между заходами отдельный механизм с куками. Поэтому «разлогинивает» и «не помнит меня» - две разные поломки с разными причинами.

Что нужно сделать

НужноСмотрите
Разобраться, из чего складываются права доступаПользователи, группы и права
Поставить форму входа и настроить страницу авторизацииАвторизация и сессии
Понять, почему пользователя выкидывает или не пускаетНе работает авторизация
Пустить в сайт доменные учётные записиАвторизация и сессии

С чего начать

Разграничение доступа на сайте. Начните с групп. Соберите список ролей, нужных проекту, и раздавайте права от них. Не от отдельных страниц: список групп меняется редко, а структура разделов постоянно. Права, привязанные к группам, переживают любую переделку сайта.

Вход через внешнюю систему. Сначала проверьте штатную авторизацию. Внешний источник подключают только после этого. Почти все жалобы на NTLM и на вход через соцсети оказываются проблемами сервера или прав. Сам модуль авторизации виноват редко.

Отладка чужого проекта. Смотрите не на пользователя, а на его группы. Права складываются между ними, и побеждает наибольшее. Одна забытая группа с широким доступом объясняет больше странностей, чем весь профиль человека.

Темы раздела

Практика раздела

Частые вопросы

Чем группа отличается от роли?

В платформе есть только группы: роль - слово из проектной лексики. Права выдаются группе, пользователь входит в несколько групп, и его итоговые права складываются из всех.

Можно ли выдать права одному человеку?

Штатно нет, кроме отдельных сущностей с расширенным управлением правами. Обычный путь - завести группу под эту роль, даже если в ней один человек: так права видно и через год.

Почему пользователь видит сайт, но не видит админку?

Доступ к панели управления - отдельное право группы, не связанное с правами на разделы сайта. Его выдают отдельно, и по умолчанию его нет ни у кого, кроме администраторов.

Что происходит с правами при входе в несколько групп?

Права складываются, и побеждает наибольшее. Запретить что-то, добавив ограничивающую группу, нельзя: доступ определяется самой разрешающей из групп пользователя.

Связанные разделы

  • Безопасность - защита форм, сессий и данных пользователя
  • Ядро D7 - события авторизации и работа с текущим пользователем
  • Модули - соцсервисы и внешние провайдеры входа
  • Инфраструктура - настройка сервера под доменную авторизацию