为什么我们只在SpringBoot项目中引入了依赖,访问/hello时却出现了登录的前端页面?这里我们首先先了解客户端请求发送经历了SpringSecurity中的几个默认开启的Filter.
AuthorizationFilter
检查发现未认证,请求被拦截,并抛出 AccessDeniedException 异常.继续看ExceptionTranslationFilter 如何进行捕获异常
ExceptionTranslationFilter
最终会发先commence()是一个抽象方法,最终进而看到LoginUrlAuthenticationEntryPoint的commence()
也可以发现就是在这里进行重定向到/login,然后是不是还需要将登录页面返回.这里将会重新发起/login请求然后被DefaultLoginPageGeneratingFilter 拦截,返回对应的登录页面
这里已经设置了最终返回的类型为html,继续看看generateLoginPageHtml().
最终通过一个StringBuilder写入html代码进行返回写到页面上去,至此源码流程分析结束
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。