前言:
学习过我的mall项目的应该知道,mall-admin模块是使用SpringSecurity+JWT来实现登录认证的,而mall-portal模块是使用的SpringSecurity基于Session的默认机制来实现登陆认证的。很多小伙伴都找不到mall-portal的登录接口,最近我把这两个模块的登录认证给统一了,都使用SpringSecurity+JWT的形式实现。主要是通过把登录认证的通用逻辑抽取到了mall-security模块来实现的,下面我们讲讲如何使用mall-security模块来实现登录认证,仅需四步即可。
整合步骤这里我们以mall-portal改造为例来说说如何实现。
第一步,给需要登录认证的模块添加mall-security依赖:
第二步,添加MallSecurityConfig配置类,继承mall-security中的SecurityConfig配置,并且配置一个UserDetailsService接口的实现类,用于获取登录用户详情:
第三步,在application.yml中配置下不需要安全保护的资源路径:
第四步,在UmsMemberController中实现登录和刷新token的接口:
实现原理将SpringSecurity+JWT的代码封装成通用模块后,就可以方便其他需要登录认证的模块来使用,下面我们来看看它是如何实现的,首先我们看下mall-security的目录结构。
目录结构 做了哪些变化其实我也就添加了两个类,一个IgnoreUrlsConfig,用于从application.yml中获取不需要安全保护的资源路径。一个SecurityConfig提取了一些SpringSecurity的通用配置。
IgnoreUrlsConfig中的代码:
SecurityConfig中的代码:
到此这篇关于Java SpringSecurity+JWT实现登录认证 的文章就介绍到这了,更多相关Java SpringSecurity 内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!