Статус входа / выхода пользователя с LightOpenID - PullRequest
1 голос
/ 19 декабря 2011

Я пытаюсь использовать LightOpenId для своего сайта для входа / выхода пользователей.Это работает нормально, но мой вопрос: «Как я могу отслеживать статус входа / выхода пользователя и предпринимать соответствующие действия».

Я хочу, чтобы пользователь получал доступ к функциям моего сайта, только когда он вошел в систему, и перенаправил на страницу входа, когда пользователь вышел из системы.

Заранее спасибо.

1 Ответ

6 голосов
/ 20 декабря 2011

Ваш вопрос не имеет никакого отношения к OpenID.

OpenID - это протокол аутентификации, означающий, что он только проверяет, действительно ли пользователь является тем, кем он себя называет - в том же смысле, что и проверка пароля проверяет это. Это не имеет никакого отношения к тому, что пользователь вошел в систему или вышел из нее.

Чтобы отслеживать сеанс вашего пользователя, вам необходимо использовать сеансы. Например, после проверки:

<?php
if($openid->validate()) {
    // User has logged in
    $_SESSION['identity'] = $openid->identity;
}
?>

Тогда, когда вы хотите проверить, вошел ли ваш пользователь в систему (и кто он):

<?php
if(isset($_SESSION['identity'])) {
    echo 'User is logged in as ' . $_SESSION['identity'];
} else {
    echo 'User isn\'t logged in';
}
?>

И для завершения, при выходе из системы:

<?php
unset($_SESSION['identity']);
session_destroy();
?>

Если вы не знаете, как использовать сеансы, вы можете найти больше информации в руководстве .

...