默认登陆界面的生成

流程分析

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

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

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

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

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

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

相关推荐
Madison-No711 小时前
【C++】探秘vector的底层实现
java·c++·算法
我登哥MVP11 小时前
Ajax 详解
java·前端·ajax·javaweb
vue学习11 小时前
docker 学习dockerfile 构建 Nginx 镜像-部署 nginx 静态网
java·学习·docker
_extraordinary_11 小时前
Java Spring日志
java·开发语言·spring
PHP源码11 小时前
SpringBoot校园二手商城系统
java·spring boot·springboot二手商城·java校园二手商城系统
我命由我1234511 小时前
Android 开发问题:getLeft、getRight、getTop、getBottom 方法返回的值都为 0
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
默 语11 小时前
消息中间件选型的艺术:如何在RocketMQ、Kafka、RabbitMQ中做出正确决策
java·架构·kafka·消息队列·rabbitmq·rocketmq·技术选型
毕业设计制作和分享12 小时前
springboot159基于springboot框架开发的景区民宿预约系统的设计与实现
java·spring boot·后端
默默coding的程序猿12 小时前
3.git的分支携带问题是什么?怎么解决?
java·git·python·svn·gitee·github·intellij-idea