Cakephp разделяет авторизацию между двумя приложениями - PullRequest
2 голосов
/ 17 февраля 2011

Существует ли простой способ обмена информацией для входа в систему между двумя приложениями cakephp в одном домене?

По сути, MainApp имеет полноценный пакет управления пользователями, и я просто хочу, чтобы SecondaryApp знал, вошел ли посетитель в систему или нет.

1 Ответ

5 голосов
/ 17 февраля 2011

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

//app\config\core.php for both apps
Configure::write('Session.save', 'php'); //cookie path
Configure::write('Session.cookie', 'app_name'); //cookie name

В вашем MainApp, где бы вы ни выполняли аутентификацию, установитеПеременная сеанса, указывающая, что пользователь вошел в систему.

$_SESSION['isLoggedIn'] = true;

Затем в SecondaryApp вы можете прочитать переменные сеанса и действовать соответственно.Я полагаю, что обычно вы просите пользователя войти в систему.

function beforefilter(){
    if(!$this->Session->read('isLoggedIn')) {
        die("Please <a href='/users/login'>Login</a>");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...