當我的網頁在任何瀏覽器中關閉的標籤頁時,我想刪除用戶驗證。而當用戶加載我的網頁在新標籤頁,他應該不會看到任何他的細節,直到日誌中。在瀏覽器中關閉標籤時驗證清除
我用
FormsAuthentication.SetAuthCookie("E|" + contct.EMailAddress1, false);
但只清除完成時瀏覽器關閉。我想清除選項卡關閉時的情況。
我可以在asp.net用什麼,C#
當我的網頁在任何瀏覽器中關閉的標籤頁時,我想刪除用戶驗證。而當用戶加載我的網頁在新標籤頁,他應該不會看到任何他的細節,直到日誌中。在瀏覽器中關閉標籤時驗證清除
我用
FormsAuthentication.SetAuthCookie("E|" + contct.EMailAddress1, false);
但只清除完成時瀏覽器關閉。我想清除選項卡關閉時的情況。
我可以在asp.net用什麼,C#
你可以嘗試刪除使用javascript onunload
事件餅乾。
<body onunload="deleteAllCookies()">
將調用瀏覽器的標籤密切javascript函數deleteAllCookies()
,並且在功能上刪除所有Cookie,將清除認證
<script>
function deleteAllCookies() {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
</script>
編輯
你的問題是要明確身份驗證時,標籤在瀏覽器中關閉。如問題所示,您正在使用FormsAuthentication.SetAuthCookie
。 這就是爲什麼我建議使用javascript onunload
事件刪除cookies,就像我在回答中一樣。因此,當瀏覽器中的標籤關閉時,它將清除身份驗證, 不會考慮站點的不同階段(即回答問題)的另一個選項卡。
如果您希望在具有不同站點階段的其他選項卡上維護身份驗證,則必須使用cookie在瀏覽器窗口(以及選項卡)之間進行通信。 如果您發現有同一網站的另一個標籤,請勿清除Cookie。你可以在javascript函數中做到這一點。 希望this link會幫助你。或嘗試使用Google搜索。
如果我的網站有兩個不同階段的標籤,如果關閉一個,其他人也會失去認證。 – Mathee
編輯我的答案 – pravprab