写在前面
思考:为什么需要鉴权呢?
系统开发好上线后,API接口会暴露在互联网上会存在一定的安全风险,例如:爬虫、恶意访问等。因此,我们需要对非开放API接口进行用户鉴权,鉴权通过之后再允许调用。
准备
spring-boot:2.1.4.RELEASE
spring-security-oauth2:2.3.3.RELEASE(如果要使用源码,不要随意改动这个版本号,因为2.4往上的写法不一样了)
mysql:5.7
效果展示
这边只用了postman做测试,暂时未使用前端页面来对接,下个版本角色菜单权限分配的会有页面的展示
1、访问开放接口 http://localhost:7000/open/hello

2、不带token访问受保护接口 http://localhost:7000/admin/user/info

3、登录后获取token,带上token访问,成功返回了当前的登录用户信息


实现
oauth2一共有四种模式,这边就不做讲解了,网上搜一搜,千篇一律
因为现在只考虑做单方应用的,所以使用的是密码模式。
后面会出一篇SpringCloud+Oauth2的文章,网关鉴权
讲一下几个点吧
1、拦截器配置动态权限

新建一个 MySecurityFilter类,继承AbstractSecurityInterceptor,并实现Filter接口
初始化,自定义访问决策管理器
@PostConstruct
public void init(){
s
SpringBoot整合SpringSecurityOauth2实现动态权限管理

本文介绍了如何在SpringBoot项目中结合SpringSecurityOauth2实现鉴权,强调动态权限配置。首先阐述了鉴权的必要性,然后详细说明了配置过程,包括动态权限拦截器、自定义鉴权异常处理和获取当前登录用户的方法。最后提供了源码地址供读者参考。
最低0.47元/天 解锁文章
747

被折叠的 条评论
为什么被折叠?



