IsAuthenticated не меняется после входа в систему - PullRequest
0 голосов
/ 08 декабря 2011

У меня есть статическая HTML-страница, которая позволяет пользователю войти в систему, а затем вызвать другие веб-службы для обновления содержимого.Имя пользователя и пароль отправляются в службу WCF REST через JQuery.Служба входа выглядит следующим образом:

[WebInvoke(UriTemplate = "", Method = "POST")]
public bool Login(ServiceUser user)
{
    if(validCredentials(user)){
        FormsAuthentication.SetAuthCookie(user.Username, true);
        return true;
    }
    return false;
}

Но до того, как это произойдет, при загрузке страницы я вызываю другую службу, чтобы узнать, прошел ли пользователь аутентификацию.Эта служба выглядит следующим образом:

[WebGet(UriTemplate = "isAuthenticated")]
public bool IsAuthenticated()
{
    return HttpContext.Current.User.Identity.IsAuthenticated;
}

Таким образом, если они перезагрузят страницу, но уже вошли в систему, я не буду запрашивать у них их пароль снова.IsAuthenticated, похоже, не изменит свое значение, если я не закрою и снова не открою браузер.Обновление страницы не меняет значение.Я кодирую это неправильно?Это кэширует значение, так как это WebGet?

1 Ответ

0 голосов
/ 08 декабря 2011

Ну, я думаю, я был прав, что WebGet его кешировал. Я изменил службу IsAuthenticated на использование [WebInvoke (UriTemplate = "isAuthenticated", Method = "POST")], и, похоже, он работает правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...