Skip to content

Latest commit

 

History

History
61 lines (50 loc) · 3.3 KB

README.md

File metadata and controls

61 lines (50 loc) · 3.3 KB

huangzi-frame

Spring Boot Demo

spring boot + spring security实现权限配置

sql文件在resource中!

修改密码、忘记密码还未完成!

/**
  * 关于微服务:
  *      微服务架构是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或
  *      其他技术是否能很好的实施微服务,而红帽说 API 应该是重点。
  *      微服务可以在“自己的程序”中运行,并通过“轻量级设备与 HTTP 型 API 进行沟通”。关键在
  *      于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有
  *      系统中分布一个 API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如
  *      果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要
  *      在特定的某种服务中增加所需功能,而不影响整体进程。
  *      微服务的核心是 API,在一个大型系统中,我们可以将其拆分为一个个的子模块,每一个模块
  *      就可以是一个服务,各服务之间通过 API 进行通信。
  */

/**
  * SpringBoot项目启动类备注
  *
  * SpringBoot启动类:文件只要加上@SpringBootApplication注解,就是启动类
  * SpringBootApplication注解: 注解可以用一下三个注解代替
  * SpringBootConfigration注解: 表示SpringBoot的配置注解
  * EnableAutoConfigration注解: 表示自动配置
  * ComponentScan: 表示SpringBoot扫描Bean的规则,比如扫描那些包
  */

/**
  * SpringBoot项目小知识
  *
  * 1、常量设置:
  *     对于一些涉及到多环境的常量,比如关于datasource的参数,我们可以将其定义在 -prod 和 -dev 的yml文件中
  *     然后创建一个类,一所有定义的常量名为属性,并将其设置成一个Bean,最后在@SpringBootConfigration注解
  *     的类中使用@Value注解将其拿出。使用时只需要引入创建的类即可
  *
  * 2、spring security 中的密码加密:
  *     BCryptPasswordEncoder:该类中提供了两个方法,encode 和 matches,即密码加密和密码匹配。
  *     密码加密:采用的是 SHA-256+随机盐+密钥对密码加密,其中的SHA-256是 hash 算法,不可逆,
  *     但在加密算法中,加密算法是可逆的,可逆就意味着可解密,那就不安全。
  *     密码匹配:是将用户登录时传入的密码用同样的算法加密,然后与数据库中已经加密后的密码进行比较,
  *     虽然每次对相同的密码(123456)加密的结果也就是hash值是不一样的,但是通过密码匹配方法得出的
  *     却是 true。
  *     注:在密码传输的过程中使用 bcrypt.js 加密(也就是从前端传到后台时),因为 BCryptPasswordEncoder
  *     内部采用应该是相同的算法吧!
  *
  * 3、注解@Autowired:没有实现类的接口不能用此注解
  *
  * 4、版本变化:mybatis plus 2.0版本:EntityWrapper
  *             mybatis plus 3.0版本:QueryWrapper
  *
  */