作者:私语茶馆
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的配置