欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-12-22 16:29:58
其它授权配置 security的配置类中,对所有路径进行了统一授权配置。但是有的内容我们也需要让未登录游客有权限访问,比如js,css等静态文件,还有一些宣传页面等等。这些路径可以单独配置: 我们来试验一些,springboot项目的试图页面一般放在resource文件夹下面的templates文件 ......

其它授权配置

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

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

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

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

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

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

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

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

登录成功处理器

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

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

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

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

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

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

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

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

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

代码地址: 04