一、环境要求:
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...