SpringBootSecurity学习(04)网页版登录其它授权和登录处理
其它授权配置
security的配置类中,对所有路径进行了统一授权配置。但是有的内容我们也需要让未登录游客有权限访问,比如js,css等静态文件,还有一些宣传页面等等。这些路径可以单独配置:
我们来试验一些,springboot项目的试图页面一般放在resource文件夹下面的templates文件夹下。而静态文件一般放在resource文件夹下面的static文件夹下。我们来建立一个test.css文件,
随便写点内容,启动项目看看效果:
可以看到在未登录的情况下是可以访问的。也可以弄一个简单的广告页面查看效果,此处不再演示。关于授权,下面是一些总结:
登录成功处理器
现在我们登录成功的时候直接跳转到了默认页面。有时候登录操作要求要记录一下日志再跳转,或者登录成功后执行一些其它逻辑再跳转,我们可以增加一个登录成功处理器loginsuccesshandler,这个类需要实现 authenticationsuccesshandler 接口,并实现onauthenticationsuccess方法:
下一步需要在配置类中,配饰成功处理器:
重启登录可以看到,控制台成功打印了语句:
但是此时没有跳转到默认页面,这时候默认页面的配置以及没有用了,我们需要在成功处理器中手动跳转:
这时候再登录就可以了。defaultsuccessurl的配置也可以删掉了。security不仅可以配置登录成功处理器,还可以配置登录失败的,可以在http.formlogin()下调用failurehandler()配置。登陆失败处理器需要实现 authenticationfailurehandler 接扣,并实现 onauthenticationfailure方法。不过实际中登录失败的原因很多,比如乱输入账号等等,所以除了特殊情况,一般情况不进行失败处理。
除了登录的处理还有一些其它的处理,比如权限不足的处理,手动退出的处理等等,后面会重点讨论权限不足处理器。
代码地址: 04