繁体   English   中英

如何在登录或注销时清除/重置/更新 ASP.net 核心(Razor 页面)应用程序中的会话 Cookie

[英]How to clear/reset/renew Session Cookie in ASP.net core (Razor pages) app on login or logout

我正在尝试为每次新登录获取会话 Cookie 的新值。 基本上,每次用户登录时,下面屏幕截图中的值都应该有一个新的随机字符串。这是为了避免 Session Fixation。

我尝试了以下方法:

登录时:

Response.Cookies.Delete(".AspNetCore.Session");

HttpContext.Request.Cookies[".AspNetCore.Session"] = "123132" //does not allow to be set

注销时:

HttpContext.Session.Clear();

Response.Clear();

Session.Abandon() // Abandon is no longer available

但是 Session Cookie 的值并没有改变。 非常感谢任何指导。

浏览器检查中的会话 Cookie

尝试使用Response.Cookies.Delete(".AspNetCore.Session"); 在注销中删除cookie

下面是一个工作demo,大家可以参考一下,

登录时:

Response.Cookies.Append("Test_cookie", "yo");

注销时:

 Response.Cookies.Delete("Test_cookie");

结果:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM