[РЕШЕНО] Авторизация во все поддомены
Переключение контекстов сделано. Необходимо реализовать авторизацию сразу во все контексты из любого текущего. Цену и вопросы в личку.
Комментарии: 12
Никто не откликнется на это объявление о работе, потому перенес в вопросы.
Сниппет, которым ты авторизуешься должен вызвать процессор security/login с параметрами
То есть, вызов Login должен выглядеть так:
Ну а дальше ты любым удобным способом переключаешь контексты, когда нужно, и больше ничего не делаешь.
Сниппет, которым ты авторизуешься должен вызвать процессор security/login с параметрами
login_context = основной контекст
add_contexts = контекст2, контекст3, и т.д.
Это авторизует юзера сразу во все указанные контексты. В твоём случае основной контекст всегда должен быть web.То есть, вызов Login должен выглядеть так:
[[!Login?
&loginContext=`web`
&contexts=`ctx2,ctx3,ctx4`
]]
Причем, это едино для всех контекстов.Ну а дальше ты любым удобным способом переключаешь контексты, когда нужно, и больше ничего не делаешь.
Вызов сниппета:
Настройки контекста:
Плагин переключения контекстов, висящий на OnHandleRequest:
Не работает
Забыл уточнить, шаблон, в котором вызывается Login — один для всех контекстов
[[!Login? &contexts=`msk,krasnodar` &loginContext=`web` &loginTpl=`lgnLoginTpl` &logoutTpl=`lgnLogoutTpl` &errTpl=`lgnErrTpl` &loginResourceId=`[[*id]]` &logoutResourceId=`[[*id]]`]]
Настройки контекста:
Базовый URL base_url: /
Хост контекста http_host: sub1.domain.dev
Хост для поиска multisite_http_host: sub1.domain.dev
Ключ авторизации multisite_site_group: auth
Главная страница site_start: 2
Адрес сайта site_url: http:// sub1.domain.dev
Плагин переключения контекстов, висящий на OnHandleRequest:
<?php
if($modx->context->key!="mgr")
{
$object = $modx->getObject('modContextSetting', array('key' => 'multisite_http_host', 'value' => $modx->getOption('http_host')));
if($object)
$modx->switchContext($object->get('context_key'));
}
Не работает
Забыл уточнить, шаблон, в котором вызывается Login — один для всех контекстов
Проверяешь в анонимном режиме браузера?
Авторизация в mgr может мешать.
Авторизация в mgr может мешать.
Очищаю полностью личные данные после каждого изменения и попыткой войти, в отдельно открытом браузере. Ну в любом случае, логинится только в текущий контекст
Пришли логин\пароль на bezumkin@ya.ru, посмотрю.
Ушло, спасибо за помощь!
У тебя 3 разных поддомена.
Сессия — это кука, которая выставляется в бразуер и по ней поднимается информация с сервера. При авторизации по основному домену, кука выстаовется только для него.
Чтобы выставлялось и для поддоменов, нужно указать системную настройку
И тогда всё работает.
Сессия — это кука, которая выставляется в бразуер и по ней поднимается информация с сервера. При авторизации по основному домену, кука выстаовется только для него.
Чтобы выставлялось и для поддоменов, нужно указать системную настройку
session_cookie_domain = mysite.com
И тогда всё работает.
Большое спасибо!!!
Я пробовал, но похоже из за каши в голове в процессе поиска решения я забывал удалять личную инфу и ничего не получалось (
Но теперь все хорошо, еще раз благодарю! )
Я пробовал, но похоже из за каши в голове в процессе поиска решения я забывал удалять личную инфу и ничего не получалось (
Но теперь все хорошо, еще раз благодарю! )
&loginContext=`web`
Этот параметр дописаный какой-то или он есть в компоненте login?
Есть в компоненте
Добрый день всем, у меня сложилась похожая ситуация: доделываю сайт на modx revo. До этого с modx не работал. Встала проблема: необходимо сделать автоматическую авторизацию на все синонимы сайта — они же поддомены, все поддомены прописаны на хостинге beget и ссылаются на одну папку, то бишь открывается один сайт. Админ авторизуется через админку на domain.com или sub.domain.com и следовательно должен автоматически авторизовываться на фронтенде, но во всех возможных поддоменах: sub1.domain.com, sub2.domain.com, sub2.domain.com.
Как это реализовать?
Как это реализовать?
после добавления session_cookie_domain = .mysite.com все заработало. Конечно, по началу пока не вышел из админки добавлялось две куки: с поддоменом и с .domain.com и авторизация не проходила — система путалась ), теперь добавляется одна кука от domain.com со значением .domain.com. Спасибо за подсказку Василию.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.