0

我在我的根目錄www中有2個頁面:Login.aspxDefault.aspx。如果身份驗證正確,我將從Login.aspx重定向到Default.aspx。它的工作完美。FormAuthentication錯誤

但如果我寫的網頁瀏覽器地址欄的新選項卡上的網址http://localhost:4188/www/Default.aspx,它直接表明了Default.aspx不重定向到Login.aspx

我的Web配置文件如下:

<authentication mode="Forms"> 
<forms defaultUrl="default.aspx" loginUrl="~/login.aspx" timeout="20"></forms> 
</authentication> 
<authorization> 
<allow users="user"/> 
<deny users="*"/> 
</authorization> 
+0

確認你是不是已經登錄後,在default.aspx頁面上放置一個loginview控件並檢查。 – SaQiB

回答

0

原因可能是你已經登錄儘量減少超時和一段時間後檢查。

或從另一個瀏覽器嘗試http://localhost:4188/www/Default.aspx

如果以上其中一個正常工作,這不是一個問題。由於您已經登錄,即使在同一瀏覽器的新選項卡中,您也會被重定向到默認頁面。如果您嘗試註銷並訪問默認頁面,則應用程序會將您重定向到登錄頁面。

+0

在另一個瀏覽器中,它被重定向到login.aspx。我如何執行到期? –

+0

轉到Cookieless =>在每個URL中嵌入身份驗證票證。這是分離兩個不同窗口/選項卡的唯一方法(至少只要您不在兩個不同的窗口/選項卡中使用相同的門票..) – Onkelborg

0

如果desauthenticate用戶登錄in.You可以把你的De​​fault.aspx稱爲註銷按鈕和編程onClick事件這樣你可能解決這個問題:

protected void logOffonClick(object sender, EventArgs e) 
     { 
      FormsAuthentication.SignOut(); 
      FormsAuthentication.RedirectToLoginPage(); 
     } 
相關問題