加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET Mvc Api:设置cookie然后302/303 Redirect丢失cookie

发布时间:2020-12-15 20:51:07 所属栏目:asp.Net 来源:网络整理
导读:我有一个API动作,返回一个HttpResponseMessage. API地址如下: http://localhost/login?authcode=xxx API操作执行一些登录身份验证,并将用户重定向到注册表或欢迎页面.代码如下: var response = new HttpResponseMessage();var cookie = new CookieHeaderVa
我有一个API动作,返回一个HttpResponseMessage.
API地址如下: http://localhost/login?authcode=xxx

API操作执行一些登录身份验证,并将用户重定向到注册表或欢迎页面.代码如下:

var response = new HttpResponseMessage();
var cookie = new CookieHeaderValue("token","ThisIsTheTokenNeeded");
response.Headers.AddCookies(new CookieHeaderValue[] { cookie });
response.StatusCode = HttpStatusCode.Found;
response.Headers.Location = new Uri("http://localhost/welcome.html");
return response;

在welcome.html中,我使用“document.write(document.cookie)”并且看不到名为“token”的cookie.一些如何迷失.谁能告诉我如何完成这项工作或者这个架构毕竟不正确?

解决方法

我找到了答案.范围未设置.在我的原始代码中缺少以下行.
cookie.Path = "/";

由于重定向到另一个页面,即使在同一个域下,该cookie在不同页面上也无效.如果未设置路径,则Cookie仅对定位为http://localhost/login?authcode=xxx的原始请求有效

今天我了解到我需要仔细检查cookie的域名和路径属性,然后再声称有人吃了它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读