标签: logout

如何在会话超时或结束时注销用户

什么是会话结束或到期时注销用户的最佳方式?

谢谢你的帮助.

membership asp.net session logout

12
推荐指数
1
解决办法
2万
查看次数

facebook-ios-sdk退出问题

我在这里看到了很多关于Facebook Graph API的问题,但我仍然没有找到使用它进行简单"登录"/"注销"操作的解决方案.看起来单一登录风格造成的混乱比利益更多.

我想知道是否有可能出现以下情况:

  1. 在应用程序中输入(无accessToken/ expirationDate创建).
  2. 通过调用authorize:delegate:方法使用SSO执行登录(应用程序进入后台,登录在"全局"范围(Facebook App/Mobile Safari)中进行,请求用户凭据.
  3. 在应用程序中输入回(现在登录,都accessTokenexpirationDate保存到NSUserDefaults).
  4. 通过调用执行注销logout:方法(现在已经退出,都accessTokenexpirationDate从被删除NSUserDefaults)
  5. 尝试再次执行登录,完成与2中完成的完全相同的步骤.

我意识到,当我打电话时logout:,我确实accessToken从我的App范围注销Facebook(无效),而不是从global范围(Facebook App/Mobile Safari)注销.在5.)当我尝试再次登录时,应用程序转到后台,并且像往常一样在Facebook App/Mobile Safari中再次登录尝试,但是我得到一个屏幕,说我已经登录:

你已经授权了....按"好"继续.登录为...(不是吗?).

对于刚刚在我的应用程序中注销的用户来说,这是一种奇怪的行为.我的问题是:

"我可以从我的应用程序内部真正退出facebook(我的意思是'全球'范围)吗?这会影响使用facebook凭据的其他应用程序.但是,如果我不能这样做,我怎么能避免'奇怪'行为'在上面描述?

谢谢

iphone facebook logout facebook-graph-api ios4

12
推荐指数
2
解决办法
2万
查看次数

如何在注销时取消设置特定的php会话

我有2个网站.

在一个网站中这是真的:

session_is_registered('site1sess')
Run Code Online (Sandbox Code Playgroud)

在另一个中这是真的:

session_is_registered('site2sess')
Run Code Online (Sandbox Code Playgroud)

这些是我在登录时给用户的会话名称.我的问题是,当我从一个站点注销时,我也在另一个站点注销,因为我使用:

session_destroy(); 
Run Code Online (Sandbox Code Playgroud)

从site1或2注销从中删除所有会话变量的最佳方法是什么?谢谢.

php session logout

12
推荐指数
1
解决办法
7万
查看次数

'以另一个用户身份登录'MVC 4 Windows身份验证

我有一个用MVC 4编写的Intranet项目,它使用Windows身份验证来授权和验证用户.

我需要添加"以其他用户身份登录"功能.

经过一些搜索,我发现这个解决方案建议返回401,并创建了以下Action(使用表单调用):

    // 
    // POST: /Home/LogOut

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult LogOut()
    {
        return new HttpUnauthorizedResult();
    }
Run Code Online (Sandbox Code Playgroud)

调用Action,浏览器会弹出用户名和密码窗口,但是当结果重定向回Action时,总会返回401.

一旦用户使用新凭据登录,如何将用户重定向回上一个操作?

有没有办法使服务器端的凭据无效,而不是只返回401?

asp.net-mvc http windows-authentication logout http-status-code-401

12
推荐指数
1
解决办法
1万
查看次数

注销按钮上的PHP会话销毁

我目前正在开发一个具有登录(用户名和密码)的站点 - 密码保护由Web服务器内的操作系统在操作系统内称为Realm的文件夹级别完成.现在我们必须这样做,直到我们找到一个合适的PHP登录系统.

下面的代码基于堆栈溢出先前问题.

我正在使用3个文件(请参阅底部的代码段).

该过程是: - 单击index.php上的"登录"按钮 - 输入用户名和密码以访问身份验证索引文件. - 单击注销按钮,该按钮引用logout.php文件 - 它应该清除缓存并将用户返回到顶级索引.

它不会"破坏会话",因为在提示时不会要求您重新输入密码,这实际上就是我想要发生的事情.

我对PHP的最小知识让我有点难过.

index.php(带登录按钮的顶级文件)

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test</title>
</head>
<body>
<a href="authenticate/index.php">Log In Btn</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

authenticate/index.php(此文件夹受密码保护 - 包含带有注销按钮的索引文件,该按钮链接到logout.php文件)

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Log out</title>
</head>
<body>
<a href="logout.php">Log Out Btn</a> …
Run Code Online (Sandbox Code Playgroud)

php login logout

11
推荐指数
3
解决办法
22万
查看次数

Django注销无法正常工作

我似乎遇到了与此问题相同的问题:Django注销问题

我有点怪,它适用于谷歌Chrome ....但不是在Firefox ...

这是我的注销功能:(在views.py中)

def my_logout(request):
    logger.debug("Logout called by user")
    try:
        # Here I do some custom stuff, like logging this action in a database and so on
        # For this question it shouldn't matter... because in a try catch
        # so whatever goes wrong here, logging out should work anyway
    except Exception, e:
        logger.info("Logging logout action error: %s" % e)
    logout(request)
    return HttpResponseRedirect("/")
Run Code Online (Sandbox Code Playgroud)

在settings.py我有:

LOGIN_URL = '/desktop/login/'
LOGOUT_URL = '/desktop/logout/'
LOGIN_REDIRECT_URL = '/'
Run Code Online (Sandbox Code Playgroud)

在app iamapps的urls.py中(在项目网址中包含/ desktop /): …

django logout

11
推荐指数
2
解决办法
1万
查看次数

是否可以onclick ="history.clear();"

我将在我的PhoneGap应用程序中实现注销按钮,该应用程序将用户返回到认证页面(带有已清除的字段).对于按钮我正在使用onclick事件的锚点:

<script type="text/javascript">
function doLogout() {
    var backlen = history.length;
    history.go(-backlen);
    window.location.replace("index.html");
}
</script>

<a data-role="none" href="#" onclick="doLogout"></a>
Run Code Online (Sandbox Code Playgroud)

但它不起作用,即它只是让我回到已经填充的文件的认证页面,似乎只是后退一步.我不确定history.clear(),因为谷歌搜索它没有给我任何东西:

<a data-role="none" href="index.html" onclick="javascript:history.clear();"></a>
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我的问题在哪里?如果有其他解决方案来处理PhoneGap中的注销事件,我会遵循它.谢谢

javascript logout cordova

11
推荐指数
2
解决办法
6万
查看次数

使用OAuth 2进行单点注销

我们刚刚讨论了使用OAuth 2时的登录和注销行为.假设我们有两个webapp AB使用一个OAuth提供程序O(使用spring-security-oauth2堆栈构建).

当您想要登录时,A您将被重定向到O,输入您的凭据,在那里获得会话O,重定向回A使用访问令牌,并且还创建会话A.

现在,当您想要登录时,B您被重定向到O,直接用令牌发送回B,因为您仍然有一个有效的sesison O并且也创建了会话B(无需再次输入您的凭据).

这解决了我们的单点登录问题.

现在的一个要求是,当您退出时,A 或者 B您从两个/所有应用程序中注销(单点注销).

我们的想法是:

  • 使用当前会话ID增强访问令牌
  • 如果应用AB想要注销用户,他们会将其重定向到注销页面O
  • 如果用户退出O,O则删除属于当前会话的所有访问令牌,并将用户重定向回AB
  • 会议开始A或被B破坏
  • AB检查每个请求上OAuth访问令牌的有效性,如果令牌无效,则销毁其会话

您认为这是OAuth 2的有效用例吗?您如何以不同方式实施单点注销?

oauth logout oauth-2.0 spring-security-oauth2

11
推荐指数
1
解决办法
9189
查看次数

Spring Security - 注销期间的并发请求

我们在Web应用程序中使用Spring Security.大多数页面都是安全的,即用户必须登录才能访问这些页面.它通常工作正常.但是,我们在注销期间遇到了不需要的行为.

假设用户已登录并向服务器发送请求以加载某个(安全)页面.在此请求完成之前,同一用户发送注销请求(即使用servlet_path"/ j_spring_security_logout"的请求).注销请求通常非常快,并且可以比之前的请求更早地完成.当然,注销请求会清除安全上下文.因此,前一个请求在其生命中间丢失了安全上下文,这通常会导致异常.

实际上,用户无需"手动"启动第一个请求.这种情况可能发生在具有自动刷新的页面上,即用户在自动发送刷新后按下注销链接只需几分之一秒.

从一个角度来看,这可以被认为是一种有意义的行为.另一方面,我更愿意在请求的生命中期防止这种安全上下文丢失.

有没有办法配置Spring Security来避免这种情况?(类似于"当存在来自同一会话的其他并发请求时推迟清除安全上下文"或"在单个请求期间仅读取一次安全上下文并将其缓存以供进一步使用")

谢谢.

java concurrency spring-security logout

11
推荐指数
1
解决办法
968
查看次数

通过Laravel中的链接注销

我的顶部导航栏中有一个"注销"链接.我想知道我怎么能这样做,以便在我登录时,当我点击它并将我返回主页时它会将我注销.

具体来说,我在Laravel中对哪些文件进行了哪些更改?另外,我需要在视图中编写哪些代码(目前只包含HTML)才能触发此代码?

logout navbar laravel

11
推荐指数
4
解决办法
3万
查看次数