我试图在服务器和客户端之间共享一个cookie(angularjs,javascript),我想通过设置HttpOnly = false的唯一方法就是在我使用服务时在SS中.RequestContext.Get(); 似乎无论我尝试设置cookie的值是什么,值总是被设置为httpOnly = true。
如果我使用旧的 HttpContext.Current.Response.Cookies.Add 将cookie写好,但对我来说这不是一个选项,因为我更喜欢使用IHttpResponse。
请看一下代码:
public override object Logout(IServiceBase service, ServiceStack.ServiceInterface.Auth.Auth request)
{
var resp =service.RequestContext.Get<IHttpResponse>();
resp.Cookies.AddCookie(new Cookie { Name = "r", Path = "/", Value = "from server", HttpOnly = false, Discard = false, Expires = DateTime.Now.AddHours(12) });
return base.Logout(service, request);
}
问题是,该标志不起作用,因为我通过 RequestContext 访问 IHttpResponse ,还有另一种方法吗?
答案 0 :(得分:1)
ServiceStack中有一个配置选项,可让您控制Cookie的此设置。尝试设置:
Config.AllowNonHttpOnlyCookies = true;