所以,我對localhost/auth/credential
運行調試與身份驗證功能,併成功登錄後與user=admin, pass=pass, rememberMe=true
。我得到了一個Json響應UserName=admin, SessionId=1
,迄今爲止非常好。ServiceStack IAuthSession空白登錄後
然後,我有一個SessionService
來檢查我目前的會話:
[Route("user/session")]
public class Session {
}
public class SessionResponse {
public ResponseStatus ResponseStatus { get; set; }
public string UserName { get; set; }
public string SessionId { get; set; }
}
class SessionService : Service {
public dynamic Get(Session req) {
IAuthSession session = this.GetSession();
return new SessionResponse() {
SessionId = session.Id,
UserName = session.UserName,
};
}
}
但是,當我去訪問:
localhost/user/session
我的SessionID = K16UMnr2eBXiIFUwAod,用戶名= NULL在哪裏預期UserName = admin。我堅持了幾個小時,無法弄清楚我做錯了什麼。請幫忙?
UPDATE ============================================ ==================
當我登錄,瀏覽器接收的:
X-UAId=1
然後瀏覽器發送:
ss-pid=zV7OOe2sP8hwlo8rR0EZ
ss-id=K16UMnr2eBXiIFUwAod
X-UAId=1
作爲圖片顯示:
網址:本地主機/認證/證書格式= JSON
然後我訪問會話服務:
網址:本地主機/用戶/會話
正如你所看到的,我正在以SessionId的身份提取ss-id。我與管理員登錄,用戶名管理=是預期,但我得到用戶名= NULL。爲什麼?
可能是一個愚蠢的問題,但是你配置[緩存客戶端(https://github.com/ServiceStack/ServiceStack/wiki/Caching)?我不確定是否需要它,因爲我一直都在我的SS應用程序中。 –
您是否正在使用瀏覽器或Fiddler/REST Console向URL發送請求?它沒有出現對http:// localhost:2000/user/session的請求,從您的緩存中請求到/ auth/credential的會話cookie仍然存在。 – paaschpa
@Eli Gassert,是的。容器。註冊(新的MemcachedClientCache(new [] {「127.0.0.0:11211」})); –
Tom