我在测试ASP.Net MVC 5站点(用于Internet站点)上使用基本登录.
登录工作正常,但当我尝试注销时,它不会发生.注销链接会调用以下控制器操作:
public ActionResult LogOff()
{
AuthenticationManager.SignOut();
return RedirectToAction("Index", "Home");
}
Run Code Online (Sandbox Code Playgroud)
但用户仍然保持登录状态.如何确保用户实际登出?
我在我的Android应用程序上有一个功能,用户授权该应用程序并共享链接.
我还需要为用户提供登出facebook的选项,如果用户未登录int(或未授权应用程序),我需要有条件地禁用此按钮.
我似乎无法在Android SDK上找到API调用,如果用户登录,我会询问FB.
我发现的是getAccessExpires():
检索当前会话的到期时间(自Unix纪元以来以毫秒为单位),如果会话未到期或不存在,则返回0.
是否可以检查会话是否等于0?还是有什么我想念的?
我的设计用户是"database_authenticatable"和"token_authenticatable".我尝试从控制台删除该用户的数据库中的"authentication_token"字段,但他们似乎仍然可以使用他们现有的身份验证令牌.删除用户完全有效,但我不想走那么远.
编辑:为清楚起见.我想使用rails 控制台注销用户.即运行rails console然后一些命令.
我使用openid登录用户.(仅限谷歌帐户).现在我的页面中有一个退出链接,点击后,我希望用户退出谷歌帐户,并将页面重定向到我的主页.这可以吗?
编辑 -
更改已接受的答案,因为现在Google允许将[继续]重定向到您想要的任何域.
好.我有一个网址设置来记录用户.在服务器上,没有html.服务器上的会话只是被破坏,然后用户被重定向到一个地址.
这与普通的HTML工作正常,但与Angular我有问题.我一直在使用所有主要路由,$routeProvider.when('/foo', {templateUrl: '/foo.html', controller: 'Ctrl'})并且对于正常的模板化路由工作正常..但是,如果没有模板,它将无法工作.
那么,/logout当没有html模板时,我如何以与上面相同的方式支持路由?
可能重复:
通过PHP进行HTTP身份验证注销
你好
我在我的网站上使用.htaccess和保护了一些功能.htpasswd.当用户尝试访问它时,他们会立即输入详细信息.他们输入他们的细节并进入,可以看到东西等.一切正常.
我的问题是如何logout为这种类型的身份验证创建功能.我知道他们可以关闭浏览器窗口以"注销".但这并不理想.你有什么建议给我的?
谢谢.
我在我的网络应用程序中使用OAuth,用户可以使用twitter登录.
我想添加"switch twitter account"按钮,它实际上会清除会话,然后打开authorize_url.
由于在我的网络应用程序中清除会话不会退出twitter,authorize_url将自动验证当前的twitter.com用户.这意味着我无法注销,除非我将用户发送到twitter.com.
是否可以使用API?实现这个的最佳方法是什么?
我提供了一个简单的登录功能.对于注销,我尝试使用内置的.这是我的urls.py:
(r'', include('django.contrib.auth.urls')),
Run Code Online (Sandbox Code Playgroud)
这是我的模板文件:
{% if user.is_authenticated %}
logged in as {{ user }}
(<a href="{% url "logout" %}">logout</a>)
{% else %}
Run Code Online (Sandbox Code Playgroud)
我还启用了默认的django管理站点.单击时logout,它会显示管理注销视图.如何通过logout next page属性告诉django要呈现哪个视图?
在Android中,如果要清除当前Activity堆栈并启动新堆栈Activity(例如,退出应用程序并启动登录Activity),则似乎有两种方法.
如果您的目标API级别高于16,那么一个优于另一个吗?
1)完成亲和力
finishAffinity()从活动中呼叫.
Activity.finishAffinity
2)意图标志
Intent intent = new Intent(this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
Run Code Online (Sandbox Code Playgroud)
该finishAffinity()方法适用于> = API 16.
的Intent标志的方法是适合于> = API 11.
需要明确的是,为了清除当前Activity堆栈,两种方法似乎也同样有效.我的问题是,人们是否经历过任何问题,因此,有没有理由选择其中一个?
我最近在我的网站上添加了OpenID登录.但我不知道如何添加注销功能.
例如,在单击"登录"按钮时,我可以显示所选OpenID提供程序的登录表单,例如Google帐户.但是,我不知道如何实施退出按钮以退出Google帐户.
请指教.