我正在尝试使用LightOpenId为我的网站登录/注销用户。这工作正常,但我的问题是“如何跟踪用户登录/注销状态并采取相应的操作”。
我希望用户只有在用户登录后才能访问我的网站功能,并在用户注销时重定向到登录页面。
提前致谢。
答案 0 :(得分:6)
您的问题实际上与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();
?>
如果您不知道如何使用会话,可以找到更多信息in the manual。