0
我有一個靜態HTML頁面,允許用戶登錄,然後調用其他Web服務來更新內容。用戶名和密碼通過JQuery發送到WCF REST服務。登錄服務是這樣的:登錄後IsAuthenticated不更改
[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而緩存價值嗎?