分享好友 最新动态首页 最新动态分类 切换频道
Spring Boot整合Spring Security
2024-12-26 05:16

Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块的默认技术选型,仅需引入spring-boot-starter-security模块,进行少量配置,即可实现强大的Web安全控制。

Spring Security的两个主要目标是认证授权(访问控制

官方文档:https://docs.spring.io/spring-security/site/docs/5.2.0.RELEASE/reference/htmlsingle/

  • JDK:1.8
  • Spring Boot:2.7.18

Spring Boot 版本升级为2.7.18,专栏中其他Spring Boot相关环境同步升级

 
 
 
 
 

启动服务,浏览器访问 127.0.0.1:8090/user/query,页面自动跳转到授权登录页

默认用户名为user,控制台上会打印默认密码,默认密码每次启动服务都会刷新

登录成功后,就可以正常访问了

该部分会使用到Spring Security的几个关键类,如下

  • WebSecurityConfigurerAdapter 自定义Security策略
  • AuthenticationManagerBuilder 自定义认证策略
  • @EnableWebSecurity 开启WebSecurity模式
 
 
 
 

3.3.1 编写UserDetailsService实现类

这里我们就直接固定写死用户名和密码,实际生产中可以从数据库中获取

 

3.3.2 编写配置类

 

分别测试,都通过

实际生产中,需要根据用户角色的权限来控制可访问的页面、可执行的操作等

level-1.html

 

level-2.html

 

level-3.html

 

index.html

 
 
 

**hasRole()hasAuthority()**用法是类似的,只不过hasRole()方法会给自定义的角色名前加上 ROLE_ 前缀

因此在自定义用户时,如果使用**authorities()给用户设置角色时,需要自行添加上ROLE_**前缀。

roles()authorities()设置的角色或权限,最终都存放在authorities参数中,且这两个方法会互相覆盖彼此的值。

浏览器访问

依次点击等级1、等级2、等级3,均自动跳转到授权登录页面,登录对应权限的用户后,可成功访问。

其中,登录admin用户,无法访问任何页面,登录admin0,可访问所有页面

登录权限不匹配的用户,拒绝访问

UserDetailsServiceImpl

 

SecurityConfig

 

浏览器访问,测试,通过

可控制用户认证访问接口

校验用户具有某个角色,才可访问接口

需在启动类开启注解

 

然后在接口方法上配置注解

 
 

在进入方法前校验用户具有某个权限或角色

需在启动类开启注解

 

然后在接口方法上配置注解

 
 

在进入方法后校验用户具有某个权限或角色

需在启动类开启注解

 

然后在接口方法上配置注解

 
 

校验权限后对数据进行过滤,只返回满足条件的数据

新建实体类

 

然后在方法上加上注解

 

测试,权限验证通过后

校验权限后对数据进行过滤,只有满足条件的数据才能传入接口方法中

 

测试,权限验证通过后

配置类中开启记住我

 

启动服务,访问页面,登录页面增加了记住我选择框

登录成功后,cookie中已保存用户信息,默认时间为2周

 
 
 

其他两个页面做相同修改

启动服务,登录成功后点击注销按钮,注销成功,返回首页,访问页面需再次登录

 
 
 

这里,自定义登录,默认用户参数是username,默认密码参数是password,默认记住我参数是remember-me,如果需要自定义登录表单的参数,做如下修改

 

启动服务,访问地址,跳转到自定义登录页

 
 
 

启动服务,浏览器访问,登录无权限用户后提示

最新文章
目前市面上哪种微型货车比较好呢?
今天找车网小编整理了目前市面上哪种微型货车比较好呢?相关内容,希望能帮助到大家,一起来看下吧。1、目前市面上哪种微型货车比较好呢?2、11月两厢车销量排行出炉,车型细分为:微型,小型,紧凑级3、微型轿车排行榜 1.五菱之光(推荐)
详细笔记:OpenAI 发布会上的关键信息(上)
本文来自微信公众号:AI 破壳儿,原文标题:《详细笔记:OpenAI 发布会上的关键信息(上)》OpenAI 正在进行一场为期 12 天的发布会“马拉松”,目前已经进行到第 7 天。发布会的形式比较简单:每天在 YouTube 放出视频,主要由团队一线成
这几个彩票优质公众号,让你中奖不再难!
在这个激动人心的时刻,彩票迷们是否渴望能第一时间获取到开奖结果呢?今天,小编为大家推荐几个彩票优质公众号,希望能帮助大家在未来的购彩中好运连连,期期爆中!关注这些公众号,您将能在第一时间获取到你关心的各类彩票开奖信息。无论
这电脑打英雄联盟开录制视频一卡一卡的有点掉帧关掉录制就不卡是怎么回事?以前录制都不卡的?
你的cpu是不是9750啊,我9750 2060笔记本,外接2k 不开录制就很流畅,开了录制就会卡,也不是卡的严重,但就是能看到卡帧,我在全网找办法。1、打开TGP后,进入英雄联盟游戏界面,在选择大区的页面,右上角勾选开启QT语音,然后在游戏主页
退本!kimi智能App是做任务诈骗软件!被骗提现不了怎么办
kimi智能App是做任务诈骗软件!被骗提现不了怎么办技术出嘿《溦:9836356》(一)希望阅读此文的读者能够及时采取措施以减少损失;请及时与团队联系提供解决方案(文章下面图片有咨询方式)若想追回损失资产,务必仔细阅读以下内容。【JFHHERYE
高德地图怎么在地图上设置自己店的位置-门店地图定位服务
高德地图是一款功能丰富的地图应用,它提供了详细的地图信息、实时的交通状况和的服务。这款地图应用适合各种使用场景,无论是城市出行、郊区探索还是驾车、骑行和步行,都能为用户提供可靠的导航指引。高德地图拥有庞大的地图数据,覆盖了
这家跨境独立站年入42.9亿元 引流用的什么招儿?
原创:派派粉来源:跨境派做跨境电商无非两个路子:一是在亚马逊、ebay、wish 等电商平台开店卖货;另一条则是搭建自己的网站,将商品放在自己的网站上销售。刚入行的跨境小白们起初会选择在大平台上开店卖货。大平台做的久了,会发现平台
超好用的视频界AI助手——NoteGPT
6.笔记与记忆卡生成 我可以根据自己的需要,创建个性化的笔记和学习卡片,这不仅加深了我对知识的理解和记忆,也为我的复习提供了极大的方便。 二、AI助手还有哪些功能 NoteGPT作为一个视频界的AI助手,还有以下功
用AI一键生成超逼真美女写真,快来体验超火的AI神器!
在首页找到“生成照片”选项,进入后你会看到多种美女写真模板可供选择。你可以根据个人的喜好,选择想要的模板,模特风格多样化,能满足不同用户的需求。步骤三:输入描述 选择好模板后,系统会提示输入相应的文本描述。描述可以尽量详细
绵羊漫画app免费版下载
绝对好看的漫画都在这里。《绵羊漫画 免费版》是一款非常不错的漫画阅读软件。在绵羊漫画软件内,拥有着海量的漫画资源,各种类型的漫画,超全的漫画种类,只要是你想看的漫画,都能轻松的在这里搜索的到,而且所有的漫画,免费任你尽情的
相关文章
推荐文章
发表评论
0评