gpt4 book ai didi

asp.net-mvc - MVC AuthenticationManager.SignOut() 未注销

转载 作者:行者123 更新时间:2023-12-02 02:41:01 25 4
gpt4 key购买 nike

我的项目基于 Visual Studio 2013 中的 MVC 5 项目模板(个人用户帐户选项)。我一直依赖用户的默认登录和注销方法。但我不确定我做了什么,在某些时候,用户无法再注销,但他们可以以其他用户的身份登录。

这是帐户 Controller 的默认注销方法

    [HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
AuthenticationManager.SignOut();
return RedirectToAction("Index", "Home");
}
private IAuthenticationManager AuthenticationManager
{
get
{
return HttpContext.GetOwinContext().Authentication;
}
}

这是显示用户用户名的默认 _LoginPartial.cshtml View 。

    @using Microsoft.AspNet.Identity
@if (Request.IsAuthenticated)
{
using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
{
@Html.AntiForgeryToken()

<ul class="nav navbar-nav navbar-right">
<li>
@Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
</li>
<li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a> </li>
</ul>
}
}
else
{
<ul class="nav navbar-nav navbar-right">
<li>@Html.ActionLink("Register", "Register", "Account", routeValues: null, htmlAttributes: new { id = "registerLink" })</li>
<li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
</ul>
}

当用户注销时,它会将用户定向到登录页面,但仍然显示用户的用户名,这意味着他们尚未注销。并且浏览器上的url显示 http://localhost/Account/Login?ReturnUrl=%2FAccount%2FLogOff

它不会将用户带回主页的索引页面。所以我的猜测是在 AuthenticationManager.SignOut(); 语句中发生了一些事情。我很困惑,因为我没有对帐户 Controller 进行任何更改。

任何线索将不胜感激。

最佳答案

我也遇到了同样的问题。在 CodePlex 上检查此问题:

http://web.archive.org/web/20160403071605/https://aspnetidentity.codeplex.com/workitem/2347

尝试将 AuthenticationManager.SignOut() 替换为AuthenticationManager.Signout(DefaultAuthenticationTypes.ApplicationCookie);

希望对你有帮助。 :-)

关于asp.net-mvc - MVC AuthenticationManager.SignOut() 未注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29090808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com