• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

浅出理解Spring Security loginPage和loginProcessingUrl

武飞扬头像
zrer.
帮助1

1.介绍

Spring Security 是一个高度自定义的安全框架。利用 Spring IoC/DI和 AOP 功能,为系统提供了声明式安全访问控制功能,减少了为系统安全而编写大量重复代码的工作。
最近看一个看开源项目时作者使用了Spring Security权限框架来配置login,就想着自己也试着理解下,因为之前也不太理解关于这块,所以记录一下Spring Security中的相关Config,话不多说,让我们直接切入正文,有什么不对欢迎大家指正~

2.相关配置

导入 spring-boot-starter-security 依赖后,Spring Security默认拦截全部请求,当我们直接使用Spring
Security默认的登录页面时,效果就如下这样:

学新通

是不是有点ugly,haha开个玩笑,那让我们思考一下,如何来我们自己定义登录页面。下面是项目前
端登录页面的代码,使用的layui渲染的页面:

学新通

当什么也没有配置的时候,账号和密码是由 Spring Security 定义生成的。而在实际项目中账号和密码
都是从数据库中查询出来的。所以我们要通过自定义逻辑控制认证逻辑。

我们新建一个SecurityConfig 配置类,需要在Spring Security 的表单登录中定义一下跳转的接口,注意前端发送请求的url要改成自己配置对应的,这里前端是/login

学新通

解释一下上图中,总结一下就是

.loginPage这个是定义跳转登录页面的url
.loginProcessingUrl代表的是定义的form表单提交的url

注意:

  • 当我们只配置loginPage而不配置loginProcessingUrl的话.loginProcessingUrl默认就是.loginPage
  • 反之如果只配置loginProcessUrl的加,就会用不了自定义的登陆页面,spring security会使用自带的默认登陆页面,也就是上图中的页面。

所以尽量loginPage和loginProcessingUrl参数必须同时成对出现,否则的话可能会出现问题

这样配置完之后loginProcessingUrl会用来拦截前端页面对/login这个的请求,拦截到了就走它自己的处理流程,值得注意的一点是在spring security中配置自定义登录的时候,登录请求方式必须为POST,否则会报404错误*如果使用的是GET方式的请求的话,spring security并不能正确的匹配到。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgakcah
系列文章
更多 icon
同类精品
更多 icon
继续加载