Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用LightOpenID登录/注销用户状态_Php_Lightopenid - Fatal编程技术网

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

Php 使用LightOpenID登录/注销用户状态,php,lightopenid,Php,Lightopenid,我正在尝试使用LightOpenId为我的站点登录/注销用户。这很好,但我的问题是“如何跟踪用户登录/注销状态并采取相应的措施” 我希望用户仅在登录时访问我的站点功能,并在用户注销时重定向到登录页面 提前感谢。您的问题实际上与OpenID无关 OpenID是一种身份验证协议,这意味着它只检查用户是否真的是他所声称的那个人——从同样的意义上说,请求密码检查那个人。这与您的用户登录或注销无关 为了跟踪用户的会话,您需要使用会话。例如,验证后: <?php if($openid->vali

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

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


提前感谢。

您的问题实际上与OpenID无关

OpenID是一种身份验证协议,这意味着它只检查用户是否真的是他所声称的那个人——从同样的意义上说,请求密码检查那个人。这与您的用户登录或注销无关

为了跟踪用户的会话,您需要使用会话。例如,验证后:

<?php
if($openid->validate()) {
    // User has logged in
    $_SESSION['identity'] = $openid->identity;
}
?>

然后,当您想检查您的用户是否已登录(以及他是谁)时:


为了完成,在注销时:

<?php
unset($_SESSION['identity']);
session_destroy();
?>


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

您的问题实际上与OpenID无关

OpenID是一种身份验证协议,这意味着它只检查用户是否真的是他所声称的那个人——从同样的意义上说,请求密码检查那个人。这与您的用户登录或注销无关

为了跟踪用户的会话,您需要使用会话。例如,验证后:

<?php
if($openid->validate()) {
    // User has logged in
    $_SESSION['identity'] = $openid->identity;
}
?>

然后,当您想检查您的用户是否已登录(以及他是谁)时:


为了完成,在注销时:

<?php
unset($_SESSION['identity']);
session_destroy();
?>


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

嘿,谢谢您的回复。但我的问题是如何检查用户是否已从我的系统中注销,以便我可以为他取消设置和销毁会话。是否有任何方法可以检查它。当且仅当用户没有活动会话时,才会注销(请参阅我的第二个代码块)。因此,您首先通过销毁会话将他注销(例如,当他单击“注销”链接时),然后。。。他刚注销。正如我所说,OpenID与会话没有任何关系,所以LightOpenID没有这样的方法。嘿,谢谢你的回复。但我的问题是如何检查用户是否已从我的系统中注销,以便我可以为他取消设置和销毁会话。是否有任何方法可以检查它。当且仅当用户没有活动会话时,才会注销(请参阅我的第二个代码块)。因此,您首先通过销毁会话将他注销(例如,当他单击“注销”链接时),然后。。。他刚注销。正如我所说,OpenID与会话没有任何关系,因此LightOpenID没有这样的方法。