默认登陆界面的生成

流程分析

1. 请求 /hello 接口,在引入 spring security 之后会先经过一些列过滤器

  1. 在请求到达 FilterSecurityInterceptor时,发现请求并未认证。请求拦截下来,并抛出AccessDeniedException 异常。

  2. 抛出 AccessDeniedException 的异常会被 ExceptionTranslationFilter 捕获,这个 Filter 中会调用 LoginUrlAuthenticationEntryPoint#commence 方法给客户端返回 302,要求客户端进行重定向到 /ogin 页面。

  3. 客户端发送 /login 请求。

  4. /login 请求会再次被拦截器中 DefaultLoginPageGeneratingFilter 拦截到,并在拦截器中返回生成登录页面。

就是通过这种方式,SpringSecurity 默认过滤器中生成了登录页面,并返回!

相关推荐
love_muming6 小时前
链表每日一练
java·开发语言·数据结构·链表·idea·每日一练
范什么特西6 小时前
重点:mybatis注意细节
java·mysql·mybatis
乐观勇敢坚强的老彭6 小时前
GESP一级核心算法:循环与条件判断的结合
java·数据结构·算法
雪宫街道7 小时前
SpringBoot 向 IOC 容器注册组件的两种姿势:@Configuration 与 @Import
java·spring boot·后端·spring
北城以北88887 小时前
虚拟机安装JDK,Tomcat,部署项目
java·开发语言·tomcat
终将老去的穷苦程序员7 小时前
基于Android Studio开发的安卓图书借阅管理系统
java·sqlite·android studio·android-studio
技术小结-李爽8 小时前
【工具】Maven的使用
java·maven
sou_time8 小时前
从 0 到 商用:AI Agent x SKILL x MCP 全栈实战教程:L2 高等篇:MCP 协议 + Spring AI + Agent 编排
java·人工智能·spring
冷小鱼8 小时前
高级研发编码习惯:从规范到艺术,再到AI+时代的人机协同
java·开发语言·python·编码习惯
齐 飞8 小时前
JDK21虚拟线程
java·后端