2012-07-31 85 views
2

我在asp.net4中使用forms身份驗證。但授權行爲非常異常。
以下是我的web.config snippet-網站授權行爲非常異常

<authentication mode="Forms"> 
    <forms loginUrl="Login.aspx" timeout="2880" protection="All" path="/" /> 
</authentication> 
<authorization> 
    <deny users="?"/> 
    <allow users="*"/> 
</authorization> 

當我嘗試打開任何網頁,我正在如預期重定向到Login頁。如果關閉瀏覽器,我應該退出,但是那不會發生,雖然我設置persistentCookie=false彷彿登錄我再次考慮過身份驗證的用戶關閉瀏覽器後跟隨
FormsAuthentication.RedirectFromLoginPage(username, false);
現在,但如果我清除cookie cache在我的瀏覽器比我不會被視爲已通過身份驗證的用戶。

我沒有在任何地方設置cookie,我不想要持久性cookie,而不是爲什麼會發生這種情況。
請告訴我,如果我失去了一些東西。

Anobody知道與此相關的 東西,我只是發現這個問題只與Chrome的21.0,而不是與火狐7.0或Opera 11.4(即使會話結束認證的問題)。

+0

發佈更多的代碼。你知道'超時'這個屬性是做什麼的,因爲你提出了這個問題。 – 2012-07-31 18:26:31

+1

@Ramhound不,我不知道什麼是暫停,我對這一切都很陌生,而且我還有很多東西在我面前學習。所以我不認爲投票是必要的。這將不勝感激,如果你給答案 – j4m4l 2012-07-31 18:29:17

回答

1

當您在默認情況下使用authentication mode="Forms"存儲在cookie中的驗證憑據。如果您想更改此行爲,則可以使用cookieless="UseUri"屬性,而不是將您的憑證存儲在URL中。你可以找到更多的信息forms Element for authentication

超時屬性指定cookie多長時間會被儲存(以分鐘爲單位),默認爲30

+0

我已經刪除除loginUrl以外的所有屬性,仍然存在問題。我不能使用Uri餅乾,因爲其他原因,任何你可以建議的。 – j4m4l 2012-08-03 16:05:29