1

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

我希望用户仅在登录时访问我的站点功能,并在用户注销时重定向到登录页面。

提前致谢。

4

1 回答 1

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();
?>

如果您不知道如何使用会话,可以在手册中找到更多信息。

于 2011-12-19T21:36:48.200 回答