Optimize from the project(https://gitee.com/micai/springboot-springsecurity-jwt-demo).
-
Create Mysql Table.
(1) CREATE TABLEtb_user(idint(22) NOT NULL AUTO_INCREMENT,usernamevarchar(45) NOT NULL,passwordvarchar(200) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
(2) CREATE TABLEtb_user_role_group_relationship(idint(22) NOT NULL AUTO_INCREMENT,user_idvarchar(45) NOT NULL,role_group_idvarchar(45) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
(3) CREATE TABLEtb_role_group(idint(22) NOT NULL AUTO_INCREMENT,group_namevarchar(45) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
(4) CREATE TABLEtb_role_group_relationship(idint(22) NOT NULL AUTO_INCREMENT,role_group_idvarchar(45) NOT NULL,role_idvarchar(45) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
(5) CREATE TABLEtb_role(idint(22) NOT NULL AUTO_INCREMENT,namevarchar(45) NOT NULL,remarkvarchar(45) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
(6) INSERT INTOtb_role(id,name,remark) VALUES (1, "ROLE_USER", "user");
(7) INSERT INTOtb_role_group(id,group_name) VALUES (1, "user_group");
(8) INSERT INTOtb_role_group_relationship(id,role_group_id,role_id) VALUES (1, 1, 1); -
Run SecurityApplication.
-
SignUp.
curl -ik -X POST 'http://127.0.0.1:8080/users/signup' -d '{"username":"123","password":"123"}' -H 'Content-Type:application/json' -
Add Role for User.
INSERT INTOtb_user_role_group_relationship(id,user_id,role_group_id) VALUES (1, 1, 1); -
Login.
curl -ik -X POST 'http://127.0.0.1:8080/login' -d '{"username":"123","password":"123"}' -H 'Content-Type:application/json' -
Interface Test.
curl -ik -X GET 'http://127.0.0.1:8080/users/authorityList' -H 'Authorization: Bearer xxx' (Set authorization value from login interface response header. This request will fail without correct authorization info. This request will fail after truncate table 'tb_user_role_group_relationship'.)