Как правильно использовать аутентификацию ServiceStack в контроллере ASP.Net MVC

У меня проблема с получением атрибута ServiceStack [Authentication] для работы в контроллере ASP.Net MVC4, страницы / методы действия с атрибутом продолжают перенаправлять пользователей на страницу входа даже после того, как данные для входа в систему отправлены правильно.

Я последовал примеру SocialBootstrapApi, с той разницей, что все вызовы веб-службы аутентификации выполняются с контроллеров:

this.CreateRestClient().Post<RegistrationResponse>("/register", model);

Другие вещи, которые я сделал до сих пор:

Use my own user session implementation subclassing AuthUserSession (not too different from the example, but using my own implementation of User table) Inherit ServiceStackController on my BaseController, overriding the default login URL Enable Auth feature in AppHost with my user session implementation

Регистрация работает, логика аутентификации пользователя работает (хотя сеанс не сохраняется), и я вижуss-id а такжеss-pid куки в запросе.

Итак, мой полный список вопросов:

How do I make the [Authenticate] attribute work (or, what did I do wrong)? How do I save and reuse the user session in an MVC controller? At the moment this.UserSession is always null. How do I logout a user? this.CreateRestClient().Get<AuthResponse>("/auth/logout"); does not seem to work.

Update 1:
Сеансовые куки (ss-id а такжеss-pid) создается, когда я пытаюсь загрузить защищенную страницу (с атрибутом [Authenticate]) перед отправкой учетных данных. Это ожидаемое поведение?

Update 2:
Я вижу, что сеанс сохраняется вMemoryCacheClientОднако, пытаясь получить его в базовом контроллере черезthis.Cache.Get<CustomUserSession>(SessionKey) возвращает ноль (где SessionKey похож на:urn:iauthsession:1)

Ответы на вопрос(2)

Ваш ответ на вопрос