4

そのため、認証機能を使用してデバッグを実行しlocalhost/auth/credential、で正常にログインしました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

UserName=admin と予想していたところに、SessionId = K16UMnr2eBXiIFUwAod, UserName = nullを取得しました。私は何時間もこれにこだわっていますが、何が間違っているのかわかりません。助けてください?

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

ログインすると、ブラウザは次を受け取りました:

X-UAId=1 

次に、ブラウザが送信しました:

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

写真のように:

URL: localhost/auth/credentials?format=json

ここに画像の説明を入力

次に、セッション サービスにアクセスします。

URL: ローカルホスト/ユーザー/セッション

ここに画像の説明を入力

ご覧のとおり、ss-id を SessionId として取得しています。私は admin でログインしています。 UserName=adminが期待されていますが、 UserName=nullを取得しました。それはなぜです?

ここに画像の説明を入力

4

1 に答える 1

3

修正しました!!

イーライ・ガサートに感謝します。彼のヒントに従って、MemcachedClientが適切にセットアップされていなかったと思われます。そこで、単純なMemoryCacheClientに切り替えました。

すべてが即座に適切に機能するようになりました。MemcachedClient は何も覚えていなかったからです。そのため、セッションはまったくありませんでした。

于 2013-04-02T23:23:48.233 に答える