SpringBootSecurity学习(04)网页版登录其它授权和登录处理

Posted 程序员郭艺宾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBootSecurity学习(04)网页版登录其它授权和登录处理相关的知识,希望对你有一定的参考价值。

其它授权配置

security的配置类中,对所有路径进行了统一授权配置。但是有的内容我们也需要让未登录游客有权限访问,比如js,css等静态文件,还有一些宣传页面等等。这些路径可以单独配置:

file

我们来试验一些,springboot项目的试图页面一般放在resource文件夹下面的templates文件夹下。而静态文件一般放在resource文件夹下面的static文件夹下。我们来建立一个test.css文件,

file

随便写点内容,启动项目看看效果:

file

可以看到在未登录的情况下是可以访问的。也可以弄一个简单的广告页面查看效果,此处不再演示。关于授权,下面是一些总结:

file

登录成功处理器

现在我们登录成功的时候直接跳转到了默认页面。有时候登录操作要求要记录一下日志再跳转,或者登录成功后执行一些其它逻辑再跳转,我们可以增加一个登录成功处理器LoginSuccessHandler,这个类需要实现 AuthenticationSuccessHandler 接口,并实现onAuthenticationSuccess方法:

file

下一步需要在配置类中,配饰成功处理器:

file

重启登录可以看到,控制台成功打印了语句:

file

但是此时没有跳转到默认页面,这时候默认页面的配置以及没有用了,我们需要在成功处理器中手动跳转:

file

这时候再登录就可以了。defaultSuccessUrl的配置也可以删掉了。security不仅可以配置登录成功处理器,还可以配置登录失败的,可以在http.formLogin()下调用failureHandler()配置。登陆失败处理器需要实现 AuthenticationFailureHandler 接扣,并实现 onAuthenticationFailure方法。不过实际中登录失败的原因很多,比如乱输入账号等等,所以除了特殊情况,一般情况不进行失败处理。
除了登录的处理还有一些其它的处理,比如权限不足的处理,手动退出的处理等等,后面会重点讨论权限不足处理器。

代码地址:https://gitee.com/blueses/spring-boot-security 04

以上是关于SpringBootSecurity学习(04)网页版登录其它授权和登录处理的主要内容,如果未能解决你的问题,请参考以下文章

SpringBootSecurity学习(10)网页版登录之记住我功能

SpringBootSecurity学习(09)网页版登录配置Session共享

SpringBootSecurity学习(07)网页版登录整合JDBC

SpringBootSecurity学习(08)网页版登录整合MyBatis

SpringBootSecurity学习(13)前后端分离版之JWT

SpringBootSecurity学习(12)前后端分离版之简单登录