首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java Web 實現路由器風格彈窗登入(HTTP Basic Authentication)

     編輯:程式設計綜合問答

效果描述

瀏覽器原生彈出模態對話框,輸入帳號密碼後才能存取頁面,無需自寫登入頁。

原理

HTTP Basic Access Authentication (RFC 7617):
伺服器回應 401 Unauthorized + WWW-Authenticate: Basic realm="Protected Area",瀏覽器自動彈窗,後續請求自動攜帶 Authorization: Basic base64(user:pass)。

Java 實現方式

  1. Servlet Filter 攔截需保護路徑,檢查 Authorization 標頭,解碼驗證,失敗回 401 + 標頭。
  2. Spring Security 一行配置:http.httpBasic()。
  3. Tomcat 容器管理:web.xml 定義 <login-config><auth-method>BASIC</auth-method></login-config> + <security-constraint> + tomcat-users.xml 設定用戶角色。

參考資源

安全提醒

Basic Auth 僅 Base64 編碼,**必須配合 HTTPS** 否則帳密等同明文傳輸。生產環境建議改用 Form Login + JWT/OAuth2。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved