Авторизация и сессии в 1С-Битрикс
Авторизация - крупнейшая подтема раздела: 625 вопросов из собранных. Здесь собраны решения по входу на сайт и поведению сессии.
Что общего у этих задач
Вход и запоминание - два разных механизма. Авторизация кладёт в сессию идентификатор пользователя, а «запомнить меня» ставит отдельную долгоживущую куку и восстанавливает вход при следующем заходе. Жалобы «постоянно разлогинивает» и «не помнит меня» лечатся в разных местах.
Форма входа - это компонент, и их несколько. Один рисует форму в шапке, другой обслуживает страницу авторизации целиком вместе с восстановлением пароля и регистрацией. Настройки у них разные, и подмена одного другим - частая причина «кнопка есть, а входа нет».
Источник учётных записей сменный. Пароль в базе, доменная запись, внешний провайдер - всё это способы подтвердить личность. После подтверждения работает один и тот же пользователь платформы со своими группами и правами.
Решения подтемы
-
Страница и форма авторизации - какой компонент ставить, как развести формы, куда возвращать после входа.
-
Не работает авторизация - вход не проходит, выкидывает сразу после входа, не работает на поддомене.
-
NTLM-авторизация не работает - разбор причин: веб-сервер, имя сайта, сопоставление записи.
-
Слетает авторизация: время жизни сессии и запоминание входа - два предела сессии, запоминание, потерянный пароль.
-
Регистрация покупателей: форма, подтверждение, свои поля - компонент регистрации, подтверждение по почте, заказ без входа.
-
Забыт пароль и потерян доступ в админку - смена пароля кодом, письмо восстановления, право на админраздел.
-
Не работает восстановление пароля - очередь писем, шаблон события, молчащая форма, адрес не уникален.
-
Вход из кода: авторизация без пароля и работа под другим пользователем - вход по идентификатору, подмена и возврат, выход вместе с запомненным.
-
Защита входа: перебор паролей, картинка с кодом, второй фактор - ограничение попыток, блокировка, журнал и второй фактор.
-
Вход через внешний сервис: регистрация приложения, привязка, первый вход - приложение в сервисе, кнопки, привязка и первый вход.
-
Профиль пользователя на витрине: правка, свои поля, смена почты - компонент правки, свои поля, смена пароля, подтверждение почты.
-
Вход через соцсеть не работает: разбор причин - адрес возврата, протокол и библиотеки, ключи приложения, версия модуля.
Частые вопросы
Почему после входа сразу выкидывает обратно?
Чаще всего кука авторизации ставится не на тот домен либо сессия не сохраняется между запросами. Оба случая проверяются в браузере: видно, ставится ли кука и с каким доменом.
Как сделать разные формы входа на разных страницах?
Разными шаблонами одного компонента: логика входа общая, а вёрстка задаётся шаблоном. Заводить два разных компонента ради этого не нужно.
Можно ли пускать в сайт доменные учётные записи?
Да, через модуль прозрачной авторизации. Он подтверждает личность средствами домена, а дальше человек работает как обычный пользователь платформы со своими группами.
Куда возвращается пользователь после входа?
На адрес из параметра возврата, если он передан, иначе на текущую страницу. Постоянную посадочную страницу задают параметром компонента, а не перехватом на событии.
Связанные темы
- Пользователи, группы и права - как устроены учётные записи и доступ
- Основы безопасности - защита формы входа и сессии
- Соцсервисы и OAuth - вход через внешних провайдеров
- LDAP и Active Directory - вход по доменной учётной записи
- Раздел Пользователи и права