Javaweb10 登录认证

news2024/11/23 9:01:31

登录认证

在这里插入图片描述
创建LoginController,直接用员工的Service【接口查询】和Mapper【员工表查询语句】

登录

在这里插入图片描述

登录校验

http是无状态的协议。每次请求都是独立的。
在这里插入图片描述

会话技术

浏览器与服务器的一次链接就是一次会话。一次会话中可以包含多次请求和响应。session与浏览器个数有关。
会话跟踪:服务器来识别请求是否来自同一浏览器,一边在同一次会话的多次请求间共享数据。
在这里插入图片描述

Cookie

浏览器端
在这里插入图片描述
Set-Cookie:服务器向客户端发送,然后客户端就会获得一个Cookie,之后客户端的每一次请求就会自动的携带着这个Cookie给服务器
跨域:前后端步数的服务器在协议、IP/域名、端口这三者有一个不同就是跨域

Session

服务器端会话跟踪技术,本质基于Cookie
数据存在服务器端,一般人拿不到,所以相对安全
在这里插入图片描述

令牌技术

在这里插入图片描述

JWT令牌

JSON Web Token
通信双方以JSON数据格式安全的传输信息。
在这里插入图片描述

JWT-生成

在这里插入图片描述

JWT-校验

在这里插入图片描述

登录后下发令牌

在这里插入图片描述
用户登录成功后,系统会自动下发JWT令牌,后续的每次请求中,都需要再请求头header中携带到服务端,请求头名称为token,值为登录时下发的JWT令牌。
把生成的JWT令牌封装到JSON里,前端会解析。
在这里插入图片描述

过滤器Filter

是JavaWeb 三大组件(Servlet、Filter、Lintener)之一
在这里插入图片描述
主要去实现doFilter方法,拦截到请求之后调用,
chain.doFilter(request,response)

过滤器链

过滤器链的执行逻辑
1.执行流程:
请求–>放行前逻辑–>放行–>访问对应web资源–>放行后逻辑
2.拦截路径:
/login # 拦截一个具体的路径
/depts/* # 拦截一个目录下所有资源
/* #拦截所有
3.过滤器链

在这里插入图片描述

登录校验Filter

在这里插入图片描述
1.根据请求路径判断是否为登录,
2.获取JWT令牌,并解析

统一拦截系统

类似过滤器,用来动态拦截控制器方法的执行。
在这里插入图片描述
在这里插入图片描述
注意:preHandle的返回值为True代表放行

拦截器-拦截路径

在这里插入图片描述

拦截器-执行流程

在这里插入图片描述

执行流程是:先过滤器–拦截器T
omcat不识别Controller程序但识别Servlet程序,因为Tomcat是Servlet容器。
但Spring提供DispatcherServlet将请求转给Controller。

实现登录认证,只需过滤器或拦截器一个就行。

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

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

相关文章

SQLAlchemy:filter()和filter_by()的微妙差异

哈喽,大家好,我是木头左! 在Python编程中,SQLAlchemy是一个强大的ORM(对象关系映射)工具,它允许使用Python代码来操作数据库。然而,对于新手来说,SQLAlchemy中的一些函数…

【数据库编程-SQLite3(二)】API-增删改查基础函数-(含源码)

学习分享 1、sqlite3_exec函数1.1、使用sqlite3_exec进行【查】操作1.1.1、callback函数 1.2、使用sqlite3_exec进行【增、删、改】操作 2、sqlite3_get_table函数2.1、使用sqlite3_get_table函数进行【查】操作 1、sqlite3_exec函数 1.1、使用sqlite3_exec进行【查】操作 由于…

论文阅读:RAM++ | Open-Set Image Tagging with Multi-Grained Text Supervision

发表时间:2023年11月16 论文地址:https://arxiv.org/pdf/2310.15200 项目地址:https://github.com/xinyu1205/recognize-anything Recognize Anything Plus Model(RAM),这是一种有效利用多粒度文本监督的开…

【iOS】UI学习——cell的复用及自定义cell

目录 前言cell的复用手动(非注册)自动(注册) 自定义cell总结 前言 Cell复用和自定义Cell是在开发iOS应用时常见的一种优化技巧和定制需求。   Cell复用是UITableView或UICollectionView的一个重要优化机制。当用户滚动这些视图时…

【宠粉赠书】科研绘图神器:MATLAB科技绘图与数据分析

小智送书第二期~ 为了回馈粉丝们的厚爱,今天小智给大家送上一套科研绘图的必备书籍——MATLAB科技绘图与数据分析。下面我会详细给大家介绍这套图书,文末留有领取方式。 图书介绍 《MATLAB科技绘图与数据分析》是一本综合性强、内容丰富的书籍&#x…

【Android面试八股文】Java中有几种引用关系,它们的区别是什么?

在Java中,引用关系主要分为以下几种: 强引用(Strong Reference)软引用(Soft Reference)弱引用(Weak Reference)虚引用(Phantom Reference) 这些引用类型的区别在于它们对垃圾回收的影响程度。下面是对每种引用类型的详细解释及代码示例: 1. 强引用(Strong Referen…

Java面向对象-接口

Java面向对象-接口 一、JDK1.8之前二、接口的作用三、JDK1.8之后,新增非抽象方法四、静态方法 一、JDK1.8之前 1、类是类,接口是接口,它们是同一层次的概念 2、接口中没有构造器 3、接口如何声明:interface 4、在jdk1.8之前&…

植物大战僵尸杂交版最新pvzHE_v2.1.0含游戏窗口放大工具

植物大战僵尸杂交版是由B站”潜艇伟伟迷”UP主制作的一款同人策略塔防游戏,也叫pvzHE,该游戏由《植物大战僵尸》原版魔改而来,引入了创新的杂交合成系统,让玩家可以将不同植物进行杂交,创造出具有全新能力和外观的植物…

浪潮信息内存故障预警技术再升级 服务器稳定性再获提升

浪潮信息近日对其内存故障智能预警修复技术进行了全面升级,再次取得技术突破。此次升级后,公司服务器的宕机率实现了80%锐降,再次彰显了浪潮信息在服务器技术领域的卓越能力。 浪潮信息全新升级服务器内存故障智能预警修复技术MUPR (Memory …

复星杏脉算法面经2024年5月16日面试

复星杏脉算法面经2024年5月 面试记录:3个部分1. 自己介绍 2. 问八股 3.代码题先自我介绍20分钟问问题1. 梯度爆炸怎么解决,三个解决方案:梯度裁剪(Gradient Clipping)正则化(Regularization)调整…

《全网首发》平衡三进制图灵机的构建

PS:以下内容均为本人原创,未经授权及许可,严禁引图、转载或加工,违者必究。 ————2024年6月13号 1、图灵机的概述 图灵机(Turing machine)是一种理论计算模型,由英国数学家阿兰图灵(Alan T…

Vue44-创建vue脚手架

一、Vue脚手架的版本说明 vue cli:command line interface 命令行接口工具 用最新的脚手架,这样可以兼容vue3荷vue2版本。 二、通过vue脚手架创建项目 注意: 执行npm run serve 启动项目的时候,要进入到创建的vue项目里面&…

Python(二)---数据类型与变量、以及运算符

文章目录 前言1.Python程序的构成1.1.代码的组织和缩进1.2.使用\行连接符 2.对象和引用、标识符规则2.1.对象2.2.引用2.3.标识符规则 3.变量和简单赋值语句3.1.变量的声明和赋值3.2.删除变量和垃圾回收机制3.3.常量3.4.链式赋值3.5.系列解包赋值 4.最基本内置数据类型4.1.数字和…

代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理

在数字通信领域,数据安全和匿名性都是非常重要的指标。互联网的不断发展催生了几种协议,每种协议都有独特的优势和挑战。其中,SOCKS5 代理、HTTP代理最为广泛使用,下面给大家一起讨论,HTTP代理与 SOCKS5代理&#xff0…

Django中间件探索:揭秘中间件在Web应用中的守护角色与实战应用

系列文章目录 Django入门全攻略:从零搭建你的第一个Web项目Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解Django ORM深度游&#xff…

北航第六次数据结构与程序设计作业(查找与排序)选填题

一、 顺序查找的平均查找长度ASL(1 2 …… n)/ n (n 1)/ 2 二、 这半查找法的平均查找次数和判定树的深度有关系。若查找一个不存在的元素,说明进行了深度次比较。 注意,判定树不是满二叉树,因此深…

生信分析进阶5 - 全外显子组变异检测和ANNOVAR注释Snakemake分析流程

基于yaml或ini配置文件,配置文件包含例如样本名称、参考基因组版本、exon capture bed文件路径、参考基因组路径和ANNOVAR注释文件等信息。 基于该流程可以实现全外显测序的fastq文件输入到得到最终变异VCF文件。 1. Snakemake分析流程基础软件安装 # conda安装 …

Vue3【二十一】Vue 路由模式(createWebHashHistory /createWebHistory )和RouterLink写法

Vue3【二十一】Vue 路由模式(createWebHashHistory /createWebHistory )和RouterLink写法 Vue3【二十一】Vue 路由模式和普通组件目录结构 createWebHistory history模式:url不带#号,需要后端做url适配 适合销售项目 利于seo crea…

pytorch学习笔记6

想要找一些官方的小工具数据集,可以进入pytorch官网,DOCS-》pytorch下拉至libraries,点击torchversion,调整版本至0.9.0就可以找到相应的一些数据集,训练集 ctrlp可以看一个函数中需要设置哪些参数 下载数据集可以参考…

C/C++中内存开辟与柔性数组

C/C中内存的开辟 在C中,我们都知道有三个区: 1. 栈区(stack):在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结 束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指…