Mall4j-2.0 发布啦~

Mall4j开源登录重构啦!

此次开源登录重构更新了不少内容,详情如下:

  1. 去除Spring OAuth2使用自研的Token代替授权

    去除spring-security-oauth2相关依赖,自己写TokenStore来对Token进行管理,包括存储token并返回,刷新token,清除token,校验token等方法

  2. 使用Controller代替Filter进行登录授权

    移除原本LoginAuthenticationFilter之类的登录过滤,使用AdminLoginControllerLoginController进行登录授权

  3. 保留Spring Security作为Web防火墙,不使用security的认证授权登录

    使用MallWebSecurityConfigurerAdapter来实现防火墙功能

  4. 将Token相关逻辑重新抽取,阅读起来简单易懂

    1. yami-shop-security模块拆分成三大块,分别为admin,api,common模块

    2. 移除原com.yami.shop.security.exception下的异常,使用YamiShopBindException进行统一处理

    3. 统一了SecurityUtils中获取普通用户和平台用户信息的代码

    4. 移除原yami-shop-api模块下com.yami.shop.api.security的代码,同时移除原yami-shop-admin模块下com.yami.shop.admin.security的代码

  5. 前端登录加密

    1. 前端使用密钥对时间戳+密码组成的字符串进行ASE加密

    2. 后台在com.yami.shop.security.common.manager.PasswordManagerdecryptPassword方法对前端传过来的密码进行解密

  6. 后台登录验证码更新

    1. 引入captcha做验证码功能

      <dependency>
          <groupId>com.anji-plus</groupId>
          <artifactId>captcha</artifactId>
          <version>1.3.0</version>
      </dependency>
    2. yami-shop-security/yami-shop-security-common/src/main/resources/captcha新增资源文件

    3. 使用CaptchaConfig存储底图到redis中,CaptchaCacheServiceRedisImpl适配验证码在redis中的储存

  7. 使用Kryo序列化替代原本的Fst序列化

    为了兼容token和验证码相关序列化逻辑,此番Mall4j使用Kryo替代了原本的fst

    1. kryo版本:4.0.2

    2. 移除原本的com.yami.shop.common.serializer.redis.FstRedisSerializer,新增了com.yami.shop.common.serializer.redis.KryoRedisSerializer做redis序列化

  8. 更新了版本依赖

    1. spring-boot:2.3.12.RELEASE

    2. 升级了一系列第三方依赖库

      • hutool:5.7.15

      • swagger-bootstrap:1.9.6

      • redisson:3.12.5

        • 由于redisson版本提升,相关配置文件也相对应更新了,删除了原本singleServerConfigpingTimeoutreconnectionTimeoutfailedAttempts这三个配置

        • 序列化由原本的

          codec:
            class: com.yami.shop.common.serializer.redisson.FstCodec

          修改为

          codec:
            class: org.redisson.codec.KryoCodec
    3. 新增了版本依赖

      • transmittable-thread-local:2.12.1

       

相关截图

1. 后台截图

输入图片说明

2. 移动端截图

输入图片说明

相关链接

猜你喜欢

转载自www.oschina.net/news/191141
今日推荐