使用LightOpenID登录/注销用户状态

时间:2011-12-19 11:53:30

标签: php lightopenid

我正在尝试使用LightOpenId为我的网站登录/注销用户。这工作正常,但我的问题是“如何跟踪用户登录/注销状态并采取相应的操作”。

我希望用户只有在用户登录后才能访问我的网站功能,并在用户注销时重定向到登录页面。

提前致谢。

1 个答案:

答案 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