如何在angularjs中读取cookie,在WebApi中设置之后
How to read a cookie in angularjs, after it was set in Web Api
我正在使用FormsAuthenticationTicket在web api中生成一个令牌,像这样:
var user_json_str = new JavaScriptSerializer().Serialize(user);
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
user.UserId,
DateTime.Now,
DateTime.Now.AddMinutes(30), false,
user_json_str, FormsAuthentication.FormsCookiePath);
string encTicket = FormsAuthentication.Encrypt(ticket);//ENCRYPT THE TICKET
之后,我尝试在响应标头中将其返回给用户,如下所示:
HttpContext.Current.Response.Cookies.Add(new HttpCookie("encTicket", encTicket));
之后我在客户那里找到了饼干。
我在某个地方读到,不建议使用这样的web api,所以我尝试了这种方式:
string encTicket = FormsAuthentication.Encrypt(ticket);//ENCRYPT THE TICKET
HttpResponseMessage ans = new HttpResponseMessage();
ans = new HttpResponseMessage(HttpStatusCode.OK);
ans.Content = new StringContent("Logged");
ans.Headers.AddCookies(new[] { new CookieHeaderValue("encTicket", encTicket) });
return ans;
这一次cookie没有出现在客户端中(我试图使用chrome控制台中的document.cookie读取它)。
从webapi在响应头中发送cookie的正确方式是什么?
您尝试过以下操作吗?
ans.Headers.AddCookies(new[] { new CookieHeaderValue("encTicket", encTicket)
{
Expires = new DateTimeOffset( DateTime.Now.AddYears(1)),Path = "/"
} });
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- Javascript复选框函数:;缺少:在属性id之后"
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- 正在链接添加了以下内容::在之后
- JQuery hide()在show()之后不起作用,反之亦然
- 未执行Ajax循环的Javascript之后的代码
- 如何在`window.open`之后执行回调
- 如何在一个元素动画之后延迟
- 在XMLHttpRequest之后重新初始化jQuery
- <text区域>在我的html中包含event.keycode==13之后,wrap就不起作用了
- 在jAlert之后设置焦点
- 在Javascript中的ajax响应之后未调用Dropdown事件
- web浏览器中的离线应用程序存储数据并在之后上传
- 错误“;未处理'错误'事件“;在运行yo发电机之后
- 如何在angularjs中读取cookie,在WebApi中设置之后