gpt4 book ai didi

c# - 如何重命名 servicestack 中的默认 session cookie 名称

转载 作者:太空狗 更新时间:2023-10-30 01:01:17 26 4
gpt4 key购买 nike

ServiceStack 有默认的 cookie 名称SessionFeature.cs中定义的“ss-id”“ss-pid”和“ss-opt”

有没有办法将默认名称更改为其他名称?

HostConfig 中的配置代码似乎没有引用它。

非常感谢任何提示/指示。

最佳答案

正如您在 SessionFeature.cs 中所指出的那样代码 cookie 名称定义为 const,用户不可配置。

但是,您可以使用过滤器将 cookie 名称更改为更适合请求和响应的名称。添加到您的配置方法:

const string mySessionIdentifier = "mySessionId";

// Converts incoming requests with "mySessionId" cookie to "ss-id"
PreRequestFilters.Add((IRequest httpReq, IResponse httpRes) =>
{
var cookie = httpReq.Cookies[mySessionIdentifier];
if (cookie != null)
{
httpReq.Cookies.Remove(mySessionIdentifier);
httpReq.Cookies.Add(ServiceStack.Keywords.SessionId, cookie);
}
}


// Converts responses with outgoing cookie "ss-id" to "mySessionId"
GlobalResponseFilters.Add((IRequest httpReq, IResponse httpRes, object dto) => {
var cookies = httpRes.CookiesAsDictionary();
string cookie;
if (cookies.TryGetValue(ServiceStack.Keywords.SessionId, out cookie))
{
httpRes.DeleteCookie(ServiceStack.Keywords.SessionId);
httpRes.SetCookie(new Cookie(mySessionIdentifier, cookie));
}
});

你也可以 suggest here这是可配置的。

关于c# - 如何重命名 servicestack 中的默认 session cookie 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40178400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com