Hud*_*oor 9 c# asp.net cookies asp.net-mvc asp.net-mvc-4
我在用户注销时删除cookie时遇到一些麻烦.
我正在学习MVC Asp.Net,我已经创建了默认的MVC5应用程序.我已注册并使用帐户登录,一切正常.但是当我点击注销它正在工作时,它会将我重定向到主页,但它不会删除cookie.
我正在使用此扩展程序"编辑此Cookie" 检查Cookie .
首先我登录然后使用EditThisCookie扩展名复制cookie,然后注销并删除cookie.现在,当我将复制的cookie粘贴到EditTshiCookie扩展中并刷新页面时,它会使用相同的帐户登录.Cookie不会被删除.
LogOff方法
// POST: /Account/LogOff
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
return RedirectToAction("Index", "Home");
}
Run Code Online (Sandbox Code Playgroud)
我从这个问题尝试了这个
Request.GetOwinContext().Authentication.SignOut();
Request.GetOwinContext().Authentication.SignOut(Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ApplicationCookie);
HttpContext.Current.GetOwinContext().Authentication.SignOut(Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ApplicationCookie);
Run Code Online (Sandbox Code Playgroud)
小智 0
无论如何,回复很晚了,试图减少未答复的堆栈溢出负载。
为了识别每个请求,服务器为 Web 应用程序的每个用户分配一个唯一的会话 ID 。服务器通过会话 ID来识别用户。用户的服务器端会话是在会话 id上分配的。将其视为以下模型。
Session ID
|---------------- Session 1
|---------------- Session 2
Run Code Online (Sandbox Code Playgroud)
(当您放弃 cookie 会话时,所有相关的 .NET 会话将从服务器中删除)
因此,当您从浏览器中删除会话 cookie 时,服务器不会识别该请求并将其视为新请求,并且用户似乎已注销。
但由于会话尚未被服务器放弃/删除,如果您尝试在浏览器中再次使用复制的会话值,服务器将识别请求的会话 ID,用户将再次登录。
您也可以使用不同的浏览器和机器尝试此操作。
| 归档时间: |
|
| 查看次数: |
3176 次 |
| 最近记录: |