Web应用和Tomcat的集成鉴权2-Form Authentication

作者:私语茶馆

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鉴权流程。

  1. 首先客户端请求资源URL,Tomcat截获并重定向到j_security_check下;
  2. 由j_security_check 返回login.html内容,由客户端替换整体HTML内容,但URL地址还是资源地址。
  3. Login.html提交登录信息,由J_security_check校验
  4. 成功后重新加载资源URL, 失败的话,将login-failed.html直接刷新整个页面。

注意默认情况下:j_security_check校验的是明文。也就是Tomcat-users.html里存储是明文密码。

接下来我们分两个部分讲以下:如果定制登录界面和存储加密的密码。

4.定制登录界面

步骤包括:

  1. 修改Web.xml从Basic改为Form authentication登录
  2. 自定义login.html, login-failed.html。

4.1. 配置web.xml控制鉴权范围

修改Web.xml,将鉴权模式修改为form authentication,如下图:

Form Authentication的配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Flink metric(1)】Flink指标系统的系统性知识:获取metric以及注册自己的metric

文章目录 一. Registering metrics:向flink注册新自己的metrics1. 注册metrics2. Metric types:指标类型2.1. Counter2.2. Gauge2.3. Histogram(ing)2.4. Meter 二. Scope:指标作用域1. User Scope2. System Scope ing3. User Variables 三. Reporter ing四. System…

面试题-Java垃圾回收之垃圾收集器

1.基础知识 (1)知识点补充 Stop -the -World:发生时,除了GC所用的线程之外,所有的线程都处于等待状态 Safepoint: 可达性分析算法时,必须保证在某个快照点进行。 分析的过程中对象的引用关系不会发生变化! JVM的运行模式&#x…

数据结构-分析期末选择题考点(排序)

何似清歌倚桃李 一炉沈水醉红灯 契子 ✨ 上一期给大家提供了大概会考的题型给老铁们复习的大致思路 这一期还会是一样,我将整理一下排序的题型以及解题方法给你们 由于时间还很多,我就慢慢总结吧,一天一章的样子,明天总结串、后天…

MyBatis源码分析--一级缓存、二级缓存原理

前言: 有点项目经验的朋友都知道缓存的重要性是不言而喻的,不仅仅我们在开发项目业务功能的时候使用了各种缓存,框架在设计的时候也有框架层面的缓存,尤其在查询多的场景下,缓存可以大大的减少数据库访问,…

微前端框架是为了解决项目应用在大型项目中带来的复杂性和维护难题而提出的技术方案。

微前端框架是为了解决单页应用(SPA)在大型项目中带来的复杂性和维护难题而提出的技术方案。Qiankun.js、MicroApp 和 Wujie 是三种流行的微前端框架。以下是对这三种框架的优缺点分析: Qiankun.js 优点 成熟度高:Qiankun.js 基…

【知识学习】阐述Unity3D中FogLOD的概念及使用方法示例

在Unity3D中,Fog(雾效)和LOD(Level of Detail,细节层次)是两种用于提高场景视觉效果和性能的技术。 Fog(雾效) 雾效是一种视觉效果,用于模拟大气中的雾或烟&#xff0c…

YOLOv8数据集标注

1 简介 数据集是必不可少的部分,数据集的优劣直接影响训练效果。一般来说,一个完整的数据集应该包括训练集、测试集和验证集。通常,数据集会被划分为训练集和测试集,比如将数据集的70%用作训练集,30%用作测试集。在进行…

信号处理——时频分析

经典傅里叶变换的限制: 1、只能反映信号的整体特性;(完全是时域或频域) 2、要求信号满足平稳条件; 3、必须获得时域中的全部信息。 所以引入时频分析,同时使用时间和频率的联合函数来表示信号。 1 时频…

提高数据融合效率和数据成果质量工作流的可行性分析

第一章 引言 本文基于对框架数据、地名地址数据以及变更调查数据为主体数据源的分析,结合数据融合中分层数据处理原则和内容,从数据管理者、数据应用的角度提出数据质量的定位、需求定位,归纳数据融合过程中存在的困难,提出了数据…

FANUC喷涂机器人P-350iA电机过热维修解决方案

发那科喷涂机器人作为自动化喷涂生产线的重要组成部分,其性能稳定性和可靠性对于生产效率和产品质量具有重要影响。然而,在实际使用过程中,FANUC喷涂机器人P-350iA电机过热故障问题往往成为影响其正常运行的主要因素之一。 FANUC机器人M-100…

一款开源免费的现代化风格的Avalonia控件库

前言 Citrus.Avalonia是一款开源(MIT License)、免费的现代化风格的Avalonia控件库。 Avalonia介绍 Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、mac…

推荐系统数据集——Amazon-Book

在推荐系统中,像Amazon-Book这样的数据集通常包含用户和物品的交互信息。为了训练模型,这些数据需要转换成适合模型输入的格式。在这种情况下,item_list和user_list需要转换成train.txt文件,通常包含用户ID和物品ID的交互记录。 …

你的生日是星期几?HTML+JavaScript帮你列出来

0 源起 上周末,大宝发现今年自己的生日不是周末,这样就不好约同学和好友一起开生日Party了,很是郁闷。一直嘀咕自己哪年的生日才是周末。 于是我用JavaScript写了一个小程序来帮她测算了未来100年中每年的生日分别是星期几。 1 设计交互界面…

搭建大型分布式服务(四十一)SpringBoot 整合多个kafka数据源-支持亿级消息生产者

系列文章目录 文章目录 系列文章目录前言一、本文要点二、开发环境三、原项目四、修改项目五、测试一下五、小结 前言 本插件稳定运行上百个kafka项目&#xff0c;每天处理上亿级的数据的精简小插件&#xff0c;快速上手。 <dependency><groupId>io.github.vipjo…

【ARM】MCU和SOC的区别

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解SOC芯片和MCU芯片的区别 2、 问题场景 用于了解SOC芯片和MCU芯片的区别&#xff0c;内部结构上的区别。 3、软硬件环境 1&#xff09;、软件版本&#xff1a;无 2&#xff09;、电脑环境&#xff1a;无 3&am…

Java——枚举

1. 概念 枚举是在JDK1.5之后引入的&#xff0c;主要用途是&#xff1a;将一组常量组织起来&#xff0c;在这之前表示一组常量通常使用定义常量的方式&#xff1a; public static final int RED 1; public static final int GREEN 2; public static final int BLACK 3;但是…

第 12 课:基于隐语的VisionTransformer框架

基于之前MPC的基础知识&#xff0c;本讲主要内容是MPCViT基于SecretFlow的VisionTransformer框架&#xff0c;主要从神经网络架构&#xff0c;隐私推理框架和实验结果三方面介绍。 一、MPCViT&#xff1a;安全且高效的MPC友好型 Vision Transformer架构 MPCViT隐私推理总体框架…

QT中子工程的创建,以及如何在含有库的子工程项目中引用主项目中的qt资源

1、背景 在qt中创建多项目类型,如下: CustomDll表示其中的一个动态库子项目; CustomLib表示其中的一个静态库子项目; MyWidget表示主项目窗口(main函数所在项目); 2、qrc资源的共享 如何在CustomDll和CustomLib等子项目中也同样使用 MyWidget项目中的qrc资源呢??? 直…

【项目实训】后端逻辑完善

经测试&#xff0c;我们决定前端可以同时选择多个类型的岗位进行查询&#xff0c;以显示相应的公司岗位信息 于是&#xff0c;修改后端函数的逻辑&#xff1a; 后端 首先&#xff0c;因为要对checkList中的job_name进行模糊匹配查询&#xff0c;于是使用以下代码&#xff1a…

【科学计算与可视化】3. Matplotlib 绘图基础

安装 pip install matplotlib 官方文档 https://matplotlib.org/stable/api/pyplot_summary.html 主要介绍一些图片绘制的简要使用&#xff0c;更加详细和进阶需要可参考 以上官方文档。 1 绘制基础 方法名说明title()设置图表的名称xlabel()设置 x 轴名称ylabel()设置 y 轴…