1

サーバーとクライアント (angularjs、javascript) の間で Cookie を共有しようとしています。それを理解する唯一の方法は、service.RequestContext.Get()を使用するときに SS で HttpOnly = false, を設定することです。 ; 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にアクセスしているため、そのフラグが機能していないことです。それを行う別の方法はありますか?

4

1 に答える 1