Springboot+Shiro优雅实战•计划概述_1

一、目标

  1. 使用springboot搭建一个微服务基本框架;
  2. 使用自定义加解密算法对所有账号密码进行加密存储(包括数据库账号密码、用户密码等);
  3. 使用shiro作为rbac权限集成框架,同时支持账号密码登录和微信认证登录,且优雅地使用多FormAuthenticationFilter、多Realm分别进行认证;
  4. 使用自定义操作日志框架,方便日后进一步扩展;
  5. 给出所有源码,以感谢所有热情分享技术的网友,包括好学的你;

二、步骤

  1. 实现自定义加解密算法,包括对称加密算法AES256和非对称加密算法RSA1024;
  2. 搭建Springboot框架,使用postgreSQL数据库,集成mybatis/c3p0/fastjson/log4j2,能够正常启动和加载;
  3. 自定义操作日志框架,支持通过注解和调用服务的方式记录操作日志到单独的存储介质;
  4. 集成jasypt框架,能够使用自定义AES256加密的数据库密码连接数据库,能够正常启动和加载;
  5. 集成自定义的一套rbac表结构,登录后,后台能够通过RSA1024加密的密码比较,完成认证过程;
  6. 集成shiro框架,登录认证改写至shiro框架,通过单FormAuthenticationFilter,单Realm完成登录过程;
  7. 通过shiro完成会话(缓存)管理和权限管理;
  8. 支持微信小程序Token认证机制,实现多FormAuthenticationFilter,多Realm的认证过程,以此经验,可任意扩展其它认证方式;

三、计划

  1. 以上所述目标均已实现。计划按照以上步骤,每步一篇总结的方式呈现给大家;
  2. 每篇总结会在一周内完成;
  3. 每篇总结的源码对应一个github maven工程;

四、总结

  1. springboot/shiro等官方文档写得比较简略,分析源码的收获会比较大,但我们通常只会用到框架的其中一小部分功能,感觉需要用到的时候再去学效果会更好;
  2. 网上给出的资料部分有疏漏的地方,部分代码给得不全,对框架产生了不少误解;
  3. 结合各路大神,总算完成了预期的目标,但是不想大家再走很多误区,所以在经过实际验证后,决定开源,并按照由浅入深的思路总结给大家,希望对你有帮助;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章