2017-03-28 32 views
0

如何檢測用戶是否在瀏覽器中退出了「需要身份驗證」對話框?如何檢測用戶是否退出瀏覽器中的「需要身份驗證」對話框?

此取消/退出鍵事件是否有JS?

enter image description here

我並不需要知道哪些用戶,只需將其重定向到一個未經授權的網頁。

+0

您可以將事件處理程序掛鉤到取消按鈕。 – Shiping

+0

我會驚訝,如果你可以使用JavaScript的這一點,因爲認證請求直接來自服務器,並沒有HTML頁面正在呈現......我發現這個:http://stackoverflow.com/questions/1726860/ apache-authentication-redirect-on-failure-reliable,但它從2010年開始並且不確定它是否仍然有效。 – Zze

回答

1

我真的沒有這個特定的彈出窗口的經驗,但它是HTTP固有的Basic Authentication protocol的一部分。當瀏覽器向Web服務器請求受保護的資源時,服務器會響應一個未經授權的狀態碼(401)和一個名爲WWW-Authenticate的標頭,瀏覽器會自行顯示該彈出窗口。這個彈出窗口與JavaScript沒有任何關係,因此我們無法使用JS檢測它。

但是,我們可以檢查服務器上客戶端響應中是否存在Authorization標頭,並且如果標頭存在且正確,則爲受保護的路由提供服務;否則,服務於不同的路線。我不知道是否有可能檢查頁面上的標題,因爲它尚未加載,但在提供響應之前,您肯定可以讓您的服務器做出該決定。

相關問題