作者:私語茶館
1.相關章節
1) Web應用和Tomcat的集成鑒權1-BasicAuthentication-CSDN博客
2) Web應用和Tomcat的集成鑒權2-Form Authentication-CSDN博客 集成鑒權+定制化登錄
2.前言
上章講述了Tomcat的Basic Authentication鑒權模式,可以讓Web應用和Tomcat的鑒權集成起來,但實際使用過程中還有一些需要改進的地方:
1)登錄界面定制化
2)Tomcat-users.xml的密碼是明文存儲的,這個一般項目中不可接受。
本章將深入講解Tomcat基于Form authentication鑒權模式,以及解決上述兩個問題的方案。
3.Tomcat Form authentication鑒權流程
Form Authentication鑒權流程
我們先來分析一下Tomcat的Form authentication鑒權流程。
- 首先客戶端請求資源URL,Tomcat截獲并重定向到j_security_check下;
- 由j_security_check 返回login.html內容,由客戶端替換整體HTML內容,但URL地址還是資源地址。
- Login.html提交登錄信息,由J_security_check校驗
- 成功后重新加載資源URL, 失敗的話,將login-failed.html直接刷新整個頁面。
注意默認情況下:j_security_check校驗的是明文。也就是Tomcat-users.html里存儲是明文密碼。
接下來我們分兩個部分講以下:如果定制登錄界面和存儲加密的密碼。
4.定制登錄界面
步驟包括:
- 修改Web.xml從Basic改為Form authentication登錄
- 自定義login.html, login-failed.html。
4.1. 配置web.xml控制鑒權范圍
修改Web.xml,將鑒權模式修改為form authentication,如下圖:
Form Authentication的配置