0
如何檢測用戶是否在瀏覽器中退出了「需要身份驗證」對話框?如何檢測用戶是否退出瀏覽器中的「需要身份驗證」對話框?
此取消/退出鍵事件是否有JS?
我並不需要知道哪些用戶,只需將其重定向到一個未經授權的網頁。
如何檢測用戶是否在瀏覽器中退出了「需要身份驗證」對話框?如何檢測用戶是否退出瀏覽器中的「需要身份驗證」對話框?
此取消/退出鍵事件是否有JS?
我並不需要知道哪些用戶,只需將其重定向到一個未經授權的網頁。
我真的沒有這個特定的彈出窗口的經驗,但它是HTTP固有的Basic Authentication protocol的一部分。當瀏覽器向Web服務器請求受保護的資源時,服務器會響應一個未經授權的狀態碼(401)和一個名爲WWW-Authenticate
的標頭,瀏覽器會自行顯示該彈出窗口。這個彈出窗口與JavaScript沒有任何關係,因此我們無法使用JS檢測它。
但是,我們可以檢查服務器上客戶端響應中是否存在Authorization
標頭,並且如果標頭存在且正確,則爲受保護的路由提供服務;否則,服務於不同的路線。我不知道是否有可能檢查頁面上的標題,因爲它尚未加載,但在提供響應之前,您肯定可以讓您的服務器做出該決定。
您可以將事件處理程序掛鉤到取消按鈕。 – Shiping
我會驚訝,如果你可以使用JavaScript的這一點,因爲認證請求直接來自服務器,並沒有HTML頁面正在呈現......我發現這個:http://stackoverflow.com/questions/1726860/ apache-authentication-redirect-on-failure-reliable,但它從2010年開始並且不確定它是否仍然有效。 – Zze