2012-10-19 47 views
1

我不使用ServiceStack身份驗證(我有一個返回安全令牌的服務)。此外,要驗證(並跟蹤)會話,我需要安全請求來提供該安全令牌以參考Authorisation Http標題中的會話。ServiceStack無Cookie的自定義ISession/Factory

我執行並註冊了ISessionISessionFactory並且調用Plugins.Add(new SessionFeature());來禁用身份驗證。

問題是我不明白cookies如何發揮作用。我的服務類繼承Service,並且設置了IOC'd會話和sessionfactory,但會話ID已設置爲看起來是cookie的內容。我會認爲我的自定義會話將負責生成/提供會話密鑰。

我在這裏誤解了什麼?

閱讀更多它看起來像我必須(以某種方式)替換SessionFeature,對吧?

回答

1

通讀Session wiki以瞭解ServiceStack的會話如何工作。

基本上當您註冊Plugins.Add(new SessionFeature()) ServiceStack已經爲客戶端創建了ss-id/ss-pid Cookie。

當使用瀏覽器或重新使用相同的ServiceClient時,cookie會自動設置。這些cookie用於訪問ServiceStack中的動態/類型用戶會話。

+0

有沒有辦法在cookie上設置「需要SSL」標誌? – LiteWait

+0

EndpointHostConfig.OnlySendSessionCookiesSecurely = true; – DanB