# SpringBoot_Base **Repository Path**: sixFS666/SpringBoot_Base ## Basic Information - **Project Name**: SpringBoot_Base - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-11 - **Last Updated**: 2021-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基础服务 ## 1. 项目架构 1. 基于SpringBoot2.4.2、JDK1.8 2. MybatisPlus作为ORM框架增强 3. 工具类Hutool 4. Knife4j作为Swagger增强 5. Undertow替换内置Tomcat 6. 基于JWT的开源框架增强作为安全认证鉴权 7. Liquibase数据库版本控制 8. 全局XSS跨站脚本漏洞处理 ## 2. 适应性原则 1. 设计规范、代码规范应适应阿里开发手册 ## 3. 参考文档 1. [MybatisPlus参考文档](https://mybatis.plus/) 2. [Hutool(所有基本用到的工具类)](https://www.hutool.cn/docs/#/) 3. [JwtPermission相关文档](https://zhanghui95.github.io/JwtPermission/) 4. [XSS文档](https://gitee.com/596392912/mica/tree/master/mica-xss) ## 4. 关于项目 1. swagger地址: 2. 生产环境配置pro文件 会自动关闭swagger地址,开发测试环境页面打开账密:`aizhixin / aizhixin` 3. 配置文件分为 `dev` `test` `pro` 环境,公共部分在主配置文件中 4. 开发、联调可注释掉启动类上 `@EnableJwtPermission` 注解 不做token校验 5. 与前端约定俗成验证token的请求在请求头添加 "Authorization":'Bearer '+ token,注意Bearer后有一个空格 6. 忽略鉴权的接口添加`@Ignore`注解,注意是com.yilers.jwtp.annotation.Ignore包下 7. 接口处添加 `@RequiresRoles` `@RequiresPermissions` 用于指定角色、权限的校验,没有配置则校验token的有效性和合法性 8. 接口处添加 `@SysLog` 用于日志记录,例如 @SysLog(module = "认证模块", value = "登陆") 9. 默认全局开启XSS处理 对表单绑定的字符串类型、json字符串数据进行XSS处理并去除文本首尾空格 10. `@XssCleanIgnore` 注解对方法和类级别进行忽略处理 11. 密码为与前端约定AES加密 后端解密成明文 再通过BCrypt散列存储