【问题标题】:Why does ServiceStack authentication use cookies rather than a sessionId header?为什么 ServiceStack 身份验证使用 cookie 而不是 sessionId 标头?
【发布时间】:2013-03-16 01:39:54
【问题描述】:

我喜欢使用 ServiceStack,但一位同事提出了一个我无法回答的问题。 Authentication 机制设置了一个ss-pid 和一个ss-id cookie,这里解释一下:https://github.com/ServiceStack/ServiceStack/wiki/Sessions

当尝试访问受限资源时,需要提供这些 cookie,否则您将收到 401 Not Authorized 结果。

我的问题是这样的。为什么要使用 cookie 而不是包含 sessionId 或等效 cookie 值的自定义 HTTP 标头值?是不是因为 cookie 天生就有自己的机制来维护过期?在 HTTP 标头上使用 cookie 的设计决策是什么?

【问题讨论】:

    标签: servicestack


    【解决方案1】:

    HTTP Cookie 具有固有的粘性,是通过 HTTP 维护会话的最合适方式。在服务器指示客户端添加 Cookie 后,客户端向同一服务器发出的每个后续请求也将保留该 cookie - 这就是启用客户端/服务器会话的原因。

    【讨论】:

    • 感谢您的解释,但我的理解是 servicestack 支持多种协议,例如 SOAP。那么,如果您为 REST 和 SOAP 配置了服务,这将如何工作?
    • 请阅读wiki pages on SOAP Support 和Endpoints 上的信息,如果您需要更多信息,请提出一个新的具体问题。
    猜你喜欢
    • 2011-09-21
    • 2010-12-01
    • 1970-01-01
    • 2012-11-22
    • 2021-09-21
    • 2015-09-13
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多