4

localhost/auth/credential因此,我使用 auth 功能运行调试,并使用user=admin, pass=pass, rememberMe=true. 我得到了一个 Json 响应UserName=admin, SessionId=1,到目前为止一切都很好。

然后我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, UserName = null我期望 UserName = admin。我被困了几个小时,无法弄清楚我做错了什么。请帮忙?

更新 =================================================== ==============

当我登录时,浏览器收到:

X-UAId=1 

然后浏览器发送:

ss-pid=zV7OOe2sP8hwlo8rR0EZ
ss-id=K16UMnr2eBXiIFUwAod
X-UAId=1

如图所示:

网址:localhost/auth/credentials?format=json

在此处输入图像描述

然后我访问会话服务:

网址:本地主机/用户/会话

在此处输入图像描述

如您所见,我将 ss-id 选为 SessionId。我以管理员身份登录,预计UserName=admin ,但我得到了UserName=null。为什么?

在此处输入图像描述

4

1 回答 1

3

修复!!

感谢伊莱加塞特。按照他的提示,我怀疑MemcachedClient设置不正确。所以我把它换成了简单的MemoryCacheClient

现在一切都立即正常工作。因为 MemcachedClient 什么都不记得了。所以根本没有会议。

于 2013-04-02T23:23:48.233 回答