CAS-сервер - единая авторизация для LiveStreet сайтов
CAS-сервер позволяет организовать единую точку авторизации (паспорт) ваших проектов на LiveStreet CMS. Ранее функционал обсуждался в топиках livestreet.ru/blog/16980.html и livestreet.ru/blog/17422.html
В комплекте идет плагин и полностью готовый к установке сайт CAS-сервера, шаблон которого реализован на Bootstrap. Подробнее от настройке будет ниже.
Как это работает
1. При попытке авторизации/регистрации пользователя на одном из ваших сайтов, он перенаправляется на сайт CAS-сервера.2. После успешной авторизации/регистрации пользователь автоматически перенаправляется обратно на ваш сайт
3. Регистрация пользователя происходит только в БД того сайта, от куда он пришел и дополнительно в БД CAS-сервера
4. Если пользователь авторизовывается на сайте, где у него еще нет аккаунта, но есть аккаунт на другом вашем сайте, то будет произведена автоматическая регистрация на сайте с последующей авторизацией
Логика работы единой авторизации похожа на авторизацию на этом сайте, где весь процесс проходит через сайт passport.livestreetcms.com (происходит автоматическая регистрация/авторизация на 3-х сайтах).
ВНИМАНИЕ! Рекомендуется установки при одновременном запуске ваших других сайтов, где еще нет новых пользователей. Также можно произвести установку, если у вас уже есть один работающий сайт с пользователями — они импортируются в CAS-сервер. Если у вас два и более работающих сайта с пользователями, то вам скорее всего потребуется самостоятельно пройти нетривиальный ручной процесс объединения всех пользователей в одну БД.
Настройка
Для начала необходимо установить CAS-сервер. Устанавливается он аналогично LS — скопировать содержание архива в корень сайта и запустить инсталлятор (запуститься автоматически при заходе на главную страницу).Далее под админом нажимаем кнопку «Управление» и добавляем необходимые сайты.
Затем на каждом вашем LS сайте необходимо установить плагин casapi и у него в конфиге прописать url CAS-сервера и ключи доступа к API (взять их нужно из локального конфига CAS-сервера, где они автоматически сгенерировались при установке). Если генерации ключей не произошло, то вы можете прописать свои любые уникальные значения, главное, чтобы они совпадали в конфигах ваших сайтов и в конфиге CAS-сервера.
Если у вас уже есть сайт с пользователями, то вам предварительно (после установки CAS-сервера) необходимо выполнить миграцию этих пользователей в общую БД.
Для этого в конфиге CAS-сервера укажите в параметре 'migrations' реквизиты доступа к вашей БД сайта LS. Здесь нужно учесть момент, что к этой БД нужен рабочий доступ с сервера CAS (либо БД можно скопировать во временную руками на сервер CAS и использовать ее для миграции, потом удалить).
После настройки конфига запускать миграцию нужно из консоли так:
php -f /path/to/site/application/utilities/cron/cas_migrate.php
Где /path/to/site это путь до CAS-сайта на сервере.
После этого БД CAS-сервера заполнится пользователями с вашего сайта.
Все больше и больше предприятий малого бизнеса в России избегают выплачивать заработную плату в конвертах. Банковские зарплатные проекты позволяют оптимизировать расходы и упорядочить учет.
20 комментариев
С момента выпуска версии 1.0 прошло уже более двух лет, с тех пор Livestreet как продукт уже успел морально устареть. В связи с этим вопрос, который ранее традиционно встречался в штыки — когда планируется релиз новой версии?
Отдельно отмечу, что развитие кода не является продуктом. Особенно, если учесть, что новые идеи влекут за собой неминуемое ухудшение производительности. Теоретически, этот недостаток можно было бы исправить внедрением блочной архитектуры. Но, вероятно, авторы проекта сосредоточены на чём-то другом.
Даже на этой странице видно, что TTFB составляет малокомфортные (если не сказать позорные) 1,37 с. Что будет в следующей версии — и предполагать не хочется.
Там потребуются доработки autoopenid, т.к. CAS-сервер работает на текущей git версии LS.
CAS-сервер в качестве OAuth-провайдера тоже любопытная идея, но не столь актуальная…
Судя по описанию, там общая авторизация — это бонус к функционалу, а не его суть. Суть там в поддержке мультисайтовости на одной копии движка. На сколько это корректно реализовано судить не могу, но потенциальных проблем там огромное количество.
А CAS-сервер это именно единый центр авторизации и не более. Что дает возможность подключать к нему различные сайты как на LS (сообщества, магазины и прочее реализованное на LS), так и сайты на совершенно других движках (достаточно для них написать поддержку API CAS-сервера).
Дополнительно в любой момент можно отключить какой-либо сайт от интеграции с CAS и он продолжит работать как полностью независимый сайт, но уже со своей авторизацией/регистрацией.
2) Написать в поддержку плагина.
3) Написать в саппорт LS, ибо ls-soft.