1
我尝试使用LightOpenId为我的网站登录/注销用户。这工作正常,但我的问题是“我如何跟踪用户登录/注销状态,并采取相应的行动”。使用LightOpenID登录/注销用户状态
我希望用户只有在登录后才能访问我的网站功能,并且在用户注销时重定向到登录页面。
在此先感谢。
我尝试使用LightOpenId为我的网站登录/注销用户。这工作正常,但我的问题是“我如何跟踪用户登录/注销状态,并采取相应的行动”。使用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();
?>
如果你不知道如何使用会话,你可以找到更多的信息in the manual。
嘿谢谢你的回复。但我的问题是如何检查用户是否注销了我的系统,以便我可以取消设置并为他销毁会话。有什么方法可以检查吗? – user392406 2011-12-20 05:29:58
当且仅当他没有活动会话时,用户才会注销(请参阅我的第二个代码块)。因此,您首先将他注销(例如,当他点击“注销”链接时),销毁会话,然后......他只是注销。正如我所说的,OpenID与会话没有任何关系,所以LightOpenID没有这种方法。 – Mewp 2011-12-20 08:33:01