一、环境要求:
jdk8、装置了且配置了 maven、装置了 msql
二、我的项目代码
1、导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
emm,导入依赖后间接启动拜访接口会弹出一个表单要你输出,
用户名为:user
明码为:在控制台看
2、创立数据库
员工信息库
CREATE TABLE tb_sys_employee
(id
varchar(20) NOT NULL COMMENT ‘ 员工 id’,name
varchar(100) NOT NULL COMMENT ‘ 实在姓名 ’,phone
varchar(50) NOT NULL COMMENT ‘ 电话号码 ’,card
varchar(20) NOT NULL COMMENT ‘ 身份证号码 ’,password
varchar(40) NOT NULL COMMENT ‘ 明码(密文)’,code
varchar(64) NOT NULL COMMENT ‘ 工号 ’,status
tinyint(1) NOT NULL DEFAULT ‘1’ COMMENT ‘ 状态 0 停用 1:启用 ’,nick_name
varchar(100) NOT NULL COMMENT ‘ 工号名称 ’,salt
varchar(8) NOT NULL COMMENT ‘ 盐 ’,address
varchar(64) DEFAULT NULL COMMENT ‘ 住址 ’,create_name
varchar(64) DEFAULT NULL COMMENT ‘ 创建人 ’,create_time
datetime DEFAULT NULL COMMENT ‘ 创立工夫 ’,update_time
datetime DEFAULT NULL COMMENT ‘ 更新工夫 ’,role
int(6) DEFAULT ‘1’ COMMENT ‘1 admin 2、employee 4、user’,avatar
varchar(256) DEFAULT NULL COMMENT ‘ 头像 ’,
PRIMARY KEY (id
) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT=’ 员工表 ’;
角色库
CREATE TABLE tb_sys_role
(ID
bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘ 角色 id’,NAME
varchar(40) NOT NULL COMMENT ‘ 角色名称 ’,code
varchar(64) NOT NULL,REMARK
varchar(400) DEFAULT NULL COMMENT ‘ 角色形容 ’,STATUS
varchar(1) NOT NULL COMMENT ‘ 角色状态 0: 停用 1:启用 ’,CREATE_USER_ID
varchar(20) DEFAULT NULL COMMENT ‘ 创建人 ’,CREATE_TIME
datetime DEFAULT NULL COMMENT ‘ 创立工夫 ’,UPDATE_USER_ID
varchar(20) DEFAULT NULL COMMENT ‘ 更新人 ’,UPDATE_TIME
datetime DEFAULT NULL COMMENT ‘ 更新工夫 ’,ROLETYPE_ID
bigint(20) NOT NULL COMMENT ‘ 角色类型 ID’,IS_ADMIN
varchar(1) DEFAULT ‘0’ COMMENT ‘1: 管理者角色 0: 不是管理者角色 ’,
PRIMARY KEY (ID
) USING BTREE,
KEY IDX_SYS_ROLE_ROLETYPE_ID
(ROLETYPE_ID
) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT=’ 角色表 ’;
资源库:即 url 库
CREATE TABLE tb_sys_permission
(id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘ 主键 id’,url
varchar(30) DEFAULT NULL COMMENT ‘url 字符串 ’,status
tinyint(4) DEFAULT ‘1’ COMMENT ‘ 状态:0 否 1 是 ’,create_time
datetime DEFAULT NULL COMMENT ‘ 创立工夫 ’,update_time
datetime DEFAULT NULL COMMENT ‘ 更新工夫 ’,
PRIMARY KEY (id
) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
资源角色关联库
CREATE TABLE tb_sys_role_permission
(id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘ 主键 id’,permission_id
bigint(20) DEFAULT NULL COMMENT ‘ 资源文件 id’,role_id
bigint(20) DEFAULT ‘1’ COMMENT ‘ 角色 id’,create_time
datetime DEFAULT NULL COMMENT ‘ 创立工夫 ’,update_time
datetime DEFAULT NULL COMMENT ‘ 更新工夫 ’,
PRIMARY KEY (id
) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
阐明:
1、用户名:用例中在整合 jwt 中应用的是 nick_name 作为账号,
2、明码加密形式应用的是:EncryptionUtil.SHA1(EncryptionUtil.SHA1(employee.getPassword())+salt)
3、应用了 mybatis-plus 来进行数据库方面操作
参考阐明,security 系列大多参考上面两位大佬:https://gitee.com/fakerlove/s…