Spring Security --- formLogin配置

2023-05-16

目录

环境准备

配置自定义登录表单页面

配置登录成功的跳转页面方式

配置登录失败的跳转页面方式

前端表单参数获取

CustomWebSecurityConfigurerAdapter配置类代码示例


  • 环境准备

  • 创建springboot项目
  • 引入spring security框架
  • 引入thymeleaf模板引擎
  • 配置自定义登录表单页面

  • 1-自定义login.html页面

  • 2-Controller层显示login.html页面的前端控制器

  • 3-CustomWebSecurityConfigurerAdapter配置类设置
  • 在配置类中设置请求需要登录认证
  • 在配置类中设置请求放行
  • 需要在自定义配置类中放行自定义登录页面的url放行, 让用户匿名可以访问登录页面
  • 不然所有的请求都需要登录认证,都需要跳转到登录页面,登录页面也需要跳转到登录页面,这就有死循环了
  • 需要在自定义配置类中放行自定义登录页面的静态资源访问放行, 让用户匿名可以访问静态资源
  • 4-测试
  • 除了/showLogin之外所有的请求都会自动跳转到自定义登录页面, 要求用户先登录认证

  • 配置登录成功的跳转页面方式

  • 1-自定义home.html页面,登录成功之后跳转到home.html页面

  • 2-Controller层显示home.html页面的前端控制器

  • 3-CustomWebSecurityConfigurerAdapter配置类设置
  • 4-测试
  • 点击立即登录成功之后,页面刷新一下又跳转到登录页面,为什么?
  • 原因: spring security框架默认开启了csrf
  • 在配置类中关闭csrf

  • 不关闭csrf,在login.html页面上添加csrf.token的参数也能解决
  • 启动项目, 访问http://localhost:8080,使用账号:admin和密码:123456登录,登录成功,页面跳转成功
  • 配置登录失败的跳转页面方式

  • 1-自定义error_page.html页面,登录失败之后跳转到error_page.html页面

  • 2-Controller层显示home.html页面的前端控制器

  • 3-CustomWebSecurityConfigurerAdapter配置类设置
  • 4-测试
  • 启动项目, 访问http://localhost:8080,使用账号:admin和密码:123123登录,密码错误,跳转到默认的登录异常页面
  • 密码错误,页面一闪还是在默认的登录页面;怎么回事?
  • 原因: /errPage路由需要登录认证
  • 处理方法: 在配置类中将/errPage路由放行,允许用户匿名访问
  • 前端表单参数获取

  • 如果前端用户在定义login页面的时候,用户名和密码的dom元素的name属性没有设置成username和password,那会怎么样?
  • spring security还能正常获取到参数进行登录认证么?那肯定是不可以的
  • 通过修改login.html表单,token获取
  • CustomWebSecurityConfigurerAdapter配置类代码示例

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Security --- formLogin配置 的相关文章

随机推荐

  • 两种方式为button元素注册点击事件,this指向

    两种方式 xff1b 第一种指向button xff0c 第二种 指向window
  • 强化学习实战——Q learning 实现倒立摆

    倒立摆参数以及数学模型 首先是写一个倒立摆的AGENT模型 pendulum env py import numpy as np import matplotlib pyplot as plt import matplotlib impor
  • dependencies.dependency

    依赖包有两个 xff0c 根据最下一行的提示找到项目的pom xml文件找到依赖
  • Vue3---语法初探

    目录 hello world 实现简易计时显示 反转字符串 显示隐藏 了解循环 了解双向绑定实现简易记事 设置鼠标悬停的文本 组件概念初探 xff0c 进行组件代码拆分 hello world 最原始形态 xff0c 找到 id 为 roo
  • MySQL实战解析底层---普通索引和唯一索引,应该怎么选择

    目录 前言 查询过程 更新过程 change buffer 的使用场景 索引选择和实践 change buffer 和 redo log 前言 在不同的业务场景下 xff0c 应该选择普通索引 xff0c 还是唯一索引 xff1f 假设你在
  • 准备离开:致消散的梦想

    学到现在基本都是悲剧以前的队友现在大多放弃了初心以前的好学长现在摆烂和失败开学时的场景再也见不到了大一开学开启OJ xff0c 那是一个永远绚丽的夜晚不管是学长还是同学 xff0c 都在那时期待未来 xff0c 欲力竭以圆其说而不是现在的颓
  • MySQL实战解析底层---MySQL为什么有时候会选错索引

    目录 前言 优化器的逻辑 索引选择异常和处理 前言 在 MySQL 中一张表其实是可以支持多个索引的但是你写 SQL 语句的时候 xff0c 并没有主动指定使用哪个索引也就是说 xff0c 使用哪个索引是由 MySQL 来确定的不知道你有没
  • 二叉搜索树

    目录 定义简介 查找结点 插入结点 删除结点 排序 二叉搜索树的效率 二叉搜索树的退化 二叉搜索树常见应用 定义简介 二叉搜索树 Binary Search Tree 满足以下条件 xff1a 1 对于根结点 xff0c 左子树中所有结点的
  • AVL 树

    目录 介绍 结点高度 结点平衡因子 AVL 树旋转 右旋 左旋 先左后右 先右后左 旋转的选择 插入结点 删除结点 查找结点 AVL 树典型应用 介绍 在进行多次插入与删除操作后 xff0c 二叉搜索树可能会退化为链表此时所有操作的时间复杂
  • 红黑树(更高级的二叉查找树)

    目录 介绍及性质 红黑树的基本定义 黑高度 时间复杂度 接近于 平衡 操作 红黑树的旋转 红黑树中插入新结点 红黑树中删除结点 红黑树与AVL树的区别 介绍及性质 红黑树 xff08 R B TREE xff0c 全称 xff1a Red
  • MySQL实战解析底层---怎么给字符串字段加索引

    目录 所谓前缀索引 前缀索引对覆盖索引的影响 其他方式 所谓前缀索引 现在 xff0c 几乎所有的系统都支持邮箱登录 xff0c 如何在邮箱这样的字段上建立合理的索引 xff0c 是今天要讨论的问题假设 xff0c 你现在维护一个支持邮箱登
  • Spring Security --- 3.5.7版本升级

    目录 WebSecurityConfigurerAdapter 被弃用 configure WebSecurity web 已经弃用 configure AuthenticationManagerBuilder auth 已经弃用 Spri
  • 双系统下,ubuntu20.04循环登录问题解决记录

    什么是循环登录 xff1a 开机登录页面 xff0c 输入密码后 xff0c 未提示密码错误 xff0c 黑屏一秒继续出现登录页面 xff0c 死循环 由于不能进桌面系统 xff0c 我们只能尝试在终端解决问题了 ctrl 43 alt 4
  • Spring Security --- 快速入门

    概念 Spring Security是一个功能强大且高度可定制的 xff0c 主要负责为Java程序提供声明式的 身份验证和访问控制 的安全框架Spring Security的底层主要是 基于 Spring AOP 和 Servlet 过滤
  • Spring Security --- 基于内存模型创建用户角色

    授权实现方式 基于内存模型实现授权基于默认数据库模型实现授权基于自定义数据库模型实现授权 基于内存模型创建用户角色 在Spring Security4 x版本中 xff0c 登陆的用户有一个默认的ROLE USER角色但是在Spring S
  • Spring Security --- authorizeRequests配置

    目录 自定义配置类之访问权限 匹配顺序规则 访问控制包含 访问控制url匹配 访问控制方法 角色 权限判断 使用注解进行角色权限控制 自定义配置类之访问权限 http authorizeRequests 主要是对url进行访问权限控制通过这
  • 手写Spring框架-前奏-注解与自定义注解

    目录 注解 介绍 功能 分类 注解处理器类库 自定义注解 常用元注解 自定义 注解 介绍 提供一种为程序元素设置元数据的方法用来将任何的信息或元数据 xff08 metadata xff09 与程序元素 xff08 类 方法 成员变量等 x
  • 手写Spring框架-前奏-反射获取Annotation

    目录 所谓反射 反射机制的作用 反射依赖reflect和Class 反射依赖的Class Class类的特点 获取Class对象的三种方式 获取类的构造方法并使用 获取类的成员变量并使用 获取类的成员方法并使用 问题引入 解析类的注解 解析
  • 数据结构的加强甜点-序列1

    目录 尾递归 问题 介绍 特点 原理 答案 数组栈堆内存分配 前言 分析 再分析 所谓多维数组 程序局部性原理应用 尾递归 问题 在空间复杂度这块 xff0c 有个O n 示例如下 xff1a void recur int n if n 6
  • Spring Security --- formLogin配置

    目录 环境准备 配置自定义登录表单页面 配置登录成功的跳转页面方式 配置登录失败的跳转页面方式 前端表单参数获取 CustomWebSecurityConfigurerAdapter配置类代码示例 环境准备 创建springboot项目引入