Я пытаюсь использовать LightOpenId для моего сайта для входа / выхода из системы. Это прекрасно работает, но мой вопрос: «Как я могу отслеживать состояние входа в систему / выхода из системы и принимать соответствующие действия».
Я хочу, чтобы пользователь получал доступ к функциям моего сайта только тогда, когда они вошли в систему и перенаправлялись на страницу входа в систему при выходе пользователя из системы.
Заранее спасибо.
Ваш вопрос не имеет ничего общего с 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(); ?>
с<?php unset($_SESSION['identity']); session_destroy(); ?>
Если вы не знаете, как использовать сеансы, вы можете найти дополнительную информацию в руководстве .