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.pswp.cn/diannao/36117.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36117.shtml
英文地址,請注明出處:http://en.pswp.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 時頻…

提高數據融合效率和數據成果質量工作流的可行性分析

第一章 引言 本文基于對框架數據、地名地址數據以及變更調查數據為主體數據源的分析,結合數據融合中分層數據處理原則和內容,從數據管理者、數據應用的角度提出數據質量的定位、需求定位,歸納數據融合過程中存在的困難,提出了數據…

嵌入式linux面試題大全及參考答案(3萬字長文)

目錄 解釋Linux內核的主要職責 什么是inode?它在文件系統中扮演什么角色? 常用的5個Linux文件權限標志 查看當前系統運行級別 查找包含特定字符串的文件 使用grep命令過濾特定模式的行 編寫腳本檢查指定目錄下文件大小并排序輸出 解釋變量、環境變量和位置參數在Shel…

前端npm打包自動壓縮

需要插件rollup-plugin-compression 在vite.config中使用 import compresssionBuild from rollup-plugin-compression import type { ICompressionOptions } from rollup-plugin-compression import dayjs from dayjs import packageInfo from ./package.json const option: I…

FANUC噴涂機器人P-350iA電機過熱維修解決方案

發那科噴涂機器人作為自動化噴涂生產線的重要組成部分,其性能穩定性和可靠性對于生產效率和產品質量具有重要影響。然而,在實際使用過程中,FANUC噴涂機器人P-350iA電機過熱故障問題往往成為影響其正常運行的主要因素之一。 FANUC機器人M-100…

產品經理進階:供應鏈管理制度

目錄 一、 目的 二、范圍 三、意義 五、周期 一、 目的 根據公司戰略規劃和經營目標,建立和完善生產計劃、物料控制體系、庫存 管理體系。通過匹配需求和產能,確保在滿足市場需求的同時降低整體庫存 水平,提高存貨周轉率,以達成公司的成本管理目標。 二、范圍 涉及供應…

vue2的雙向綁定

vue是一個mvvm框架,即數據雙向綁定,即當數據發生變化的時候,視圖也就發生變化,當視圖發生變化的時候,數據也會跟著同步變化。 Vue.js 2 中的雙向綁定是通過 v-model 指令實現的。v-model 指令可以在表單輸入元素上創建…

一款開源免費的現代化風格的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 設計交互界面…

torch創建2d卷積層報錯

import torch import torch.nn as nn print(nn.Conv2d(3, 16, 3, padding1)) 編譯器:pycharm2023.03.05 python:3.11 運行上述代碼 頁面報錯:OSError: [WinError 126] 找不到指定的模塊。 Error loading "D:\apploadpath\pythonPath\Lib\site-…

logback自定義規則脫敏

自定義規則conversionRule public class LogabckMessageConverter extends MessageConverter {Overridepublic String convert(ILoggingEvent event) {String msg event.getMessage();if ("INFO".equals(event.getLevel().toString())) {msg .....脫敏實現}return …

搭建大型分布式服務(四十一)SpringBoot 整合多個kafka數據源-支持億級消息生產者

系列文章目錄 文章目錄 系列文章目錄前言一、本文要點二、開發環境三、原項目四、修改項目五、測試一下五、小結 前言 本插件穩定運行上百個kafka項目&#xff0c;每天處理上億級的數據的精簡小插件&#xff0c;快速上手。 <dependency><groupId>io.github.vipjo…