Session取值问题

wctmac123 2020-08-13 05:45:40
asp.net core 2.1的项目
我在a页面的控制器里HttpContext.Session.SetString("UserName", userName);保存了一个值
然后我在b页面的控制器里读取他string userName = HttpContext.Session.GetString("UserName");

我在vs本地调试的,一切正常,能获取到值,但是我放入服务器 却发现b页面控制器里的值变null了,
我之前在本地调试时候用http也是null,后来调试改成https就一切正常,但我服务器的域名是https的也无法获取是为何,
我的服务器是 linux centos 7的,用的是nginx配置
大佬们,求救
...全文
1643 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 版主 2020-08-14
  • 打赏
  • 举报
回复
引用 3 楼 wctmac123 的回复:
[quote=引用 1 楼 正怒月神 的回复:]1 比较奇怪,你本地http也是Null?改https就好了? 2 既然你使用了nginx,那么是否部署了多个站点呢? 如果部署了多个站点, 配置一下 proxy_hide_header Set-Cookie; server { listen 8001; server_name test location / { proxy_pass http://test; proxy_hide_header Set-Cookie; } }
大神,我搞定了 需要注释掉startup里面的 services.Configure<CookiePolicyOptions>(options => { options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); 还有configure里面的 app.UseCookiePolicy();[/quote]
正怒月神 版主 2020-08-14
  • 打赏
  • 举报
回复
引用 2 楼 wctmac123 的回复:
是的,我本地断点试过,我http的就是能set,但是无法get,调试属性改成开启ssl,就能get了 然后我nginx没有配置多站点,因为我现在只是在测试服务器里,所以只配了一个站点,测试服务器里,我也输出了日志,就是set也是正常的,然后跳转页面后,就get不到了
startup中注入了吗? https://www.cnblogs.com/dawenyang/p/9227713.html
wctmac123 2020-08-14
  • 打赏
  • 举报
回复
引用 1 楼 正怒月神 的回复:
1 比较奇怪,你本地http也是Null?改https就好了? 2 既然你使用了nginx,那么是否部署了多个站点呢? 如果部署了多个站点, 配置一下 proxy_hide_header Set-Cookie; server { listen 8001; server_name test location / { proxy_pass http://test; proxy_hide_header Set-Cookie; } }
大神,我搞定了 需要注释掉startup里面的 services.Configure<CookiePolicyOptions>(options => { options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); 还有configure里面的 app.UseCookiePolicy();
wctmac123 2020-08-14
  • 打赏
  • 举报
回复
引用 1 楼 正怒月神 的回复:
1 比较奇怪,你本地http也是Null?改https就好了? 2 既然你使用了nginx,那么是否部署了多个站点呢? 如果部署了多个站点, 配置一下 proxy_hide_header Set-Cookie; server { listen 8001; server_name test location / { proxy_pass http://test; proxy_hide_header Set-Cookie; } }
是的,我本地断点试过,我http的就是能set,但是无法get,调试属性改成开启ssl,就能get了 然后我nginx没有配置多站点,因为我现在只是在测试服务器里,所以只配了一个站点,测试服务器里,我也输出了日志,就是set也是正常的,然后跳转页面后,就get不到了
正怒月神 版主 2020-08-14
  • 打赏
  • 举报
回复
1 比较奇怪,你本地http也是Null?改https就好了? 2 既然你使用了nginx,那么是否部署了多个站点呢? 如果部署了多个站点, 配置一下 proxy_hide_header Set-Cookie; server { listen 8001; server_name test location / { proxy_pass http://test; proxy_hide_header Set-Cookie; } }

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧