这几天粗浅的把shiro整合到spring中,并且注解控制shiro用户/角色/权限And/OR

步骤:

1.首先maven搭建web项目

【shiro】2.spring整合shiro,注解控制shiro用户/角色/权限And/OR,没有权限跳转到固定页面

2.创建数据库 user/role/authority 其中,role->user是一对多,role->authority是多对多

【shiro】2.spring整合shiro,注解控制shiro用户/角色/权限And/OR,没有权限跳转到固定页面

shiros.sql内容:

 1 /*
 2 SQLyog Ultimate v11.24 (32 bit)
 3 MySQL - 5.5.41 : Database - shiros
 4 *********************************************************************
 5 */
 6 
 7 
 8 /*!40101 SET NAMES utf8 */;
 9 
10 /*!40101 SET SQL_MODE=''*/;
11 
12 /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
13 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
14 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
15 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
16 CREATE DATABASE /*!32312 IF NOT EXISTS*/`shiros` /*!40100 DEFAULT CHARACTER SET utf8 */;
17 
18 USE `shiros`;
19 
20 /*Table structure for table `authority` */
21 
22 DROP TABLE IF EXISTS `authority`;
23 
24 CREATE TABLE `authority` (
25   `authorityId` varchar(36) NOT NULL,
26   `authorityName` varchar(20) DEFAULT NULL,
27   `authorityContent` varchar(500) DEFAULT NULL,
28   PRIMARY KEY (`authorityId`)
29 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
30 
31 /*Data for the table `authority` */
32 
33 insert  into `authority`(`authorityId`,`authorityName`,`authorityContent`) values ('97e2a86d-802c-415f-8d2e-6d94a3390001','疾病:增加',NULL),('97e2a86d-802c-415f-8d2e-6d94a3390002','疾病:删除',NULL),('97e2a86d-802c-415f-8d2e-6d94a3390003','疾病:修改',NULL),('97e2a86d-802c-415f-8d2e-6d94a3390004','疾病:查看',NULL),('97e2a86d-802c-415f-8d2e-6d94a3390005','产品:增加',NULL),('97e2a86d-802c-415f-8d2e-6d94a3390006','产品:删除',NULL),('97e2a86d-802c-415f-8d2e-6d94a3390007','产品:修改',NULL),('97e2a86d-802c-415f-8d2e-6d94a3390008','产品:查看',NULL);
34 
35 /*Table structure for table `role` */
36 
37 DROP TABLE IF EXISTS `role`;
38 
39 CREATE TABLE `role` (
40   `roleId` varchar(36) NOT NULL,
41   `roleName` varchar(36) DEFAULT NULL,
42   `roleGrade` int(11) DEFAULT NULL,
43   PRIMARY KEY (`roleId`)
44 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
45 
46 /*Data for the table `role` */
47 
48 insert  into `role`(`roleId`,`roleName`,`roleGrade`) values ('97e2a86d-802c-415f-8d2e-6d94a3390121','管理员3',1),('97e2a86d-802c-415f-8d2e-6d94a3390122','管理员2',1),('97e2a86d-802c-415f-8d2e-6d94a3390123','管理员1',1);
49 
50 /*Table structure for table `roleauthority` */
51 
52 DROP TABLE IF EXISTS `roleauthority`;
53 
54 CREATE TABLE `roleauthority` (
55   `roleId` varchar(36) NOT NULL,
56   `authorityId` varchar(36) NOT NULL,
57   PRIMARY KEY (`roleId`,`authorityId`),
58   KEY `FK_Relationship_3` (`authorityId`),
59   CONSTRAINT `FK_Relationship_2` FOREIGN KEY (`roleId`) REFERENCES `role` (`roleId`),
60   CONSTRAINT `FK_Relationship_3` FOREIGN KEY (`authorityId`) REFERENCES `authority` (`authorityId`)
61 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
62 
63 /*Data for the table `roleauthority` */
64 
65 insert  into `roleauthority`(`roleId`,`authorityId`) values ('97e2a86d-802c-415f-8d2e-6d94a3390123','97e2a86d-802c-415f-8d2e-6d94a3390001'),('97e2a86d-802c-415f-8d2e-6d94a3390123','97e2a86d-802c-415f-8d2e-6d94a3390002'),('97e2a86d-802c-415f-8d2e-6d94a3390123','97e2a86d-802c-415f-8d2e-6d94a3390003'),('97e2a86d-802c-415f-8d2e-6d94a3390123','97e2a86d-802c-415f-8d2e-6d94a3390004'),('97e2a86d-802c-415f-8d2e-6d94a3390122','97e2a86d-802c-415f-8d2e-6d94a3390005'),('97e2a86d-802c-415f-8d2e-6d94a3390122','97e2a86d-802c-415f-8d2e-6d94a3390006');
66 
67 /*Table structure for table `user` */
68 
69 DROP TABLE IF EXISTS `user`;
70 
71 CREATE TABLE `user` (
72   `userId` varchar(36) NOT NULL,
73   `roleId` varchar(36) NOT NULL,
74   `userName` varchar(20) DEFAULT NULL,
75   `password` varchar(20) DEFAULT NULL,
76   PRIMARY KEY (`userId`),
77   KEY `FK_Relationship_1` (`roleId`),
78   CONSTRAINT `FK_Relationship_1` FOREIGN KEY (`roleId`) REFERENCES `role` (`roleId`)
79 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
80 
81 /*Data for the table `user` */
82 
83 insert  into `user`(`userId`,`roleId`,`userName`,`password`) values ('97e2a86d-802c-415f-8d2e-6d94a3390110','97e2a86d-802c-415f-8d2e-6d94a3390122','李四','123456'),('97e2a86d-802c-415f-8d2e-6d94a3390111','97e2a86d-802c-415f-8d2e-6d94a3390123','张三','123456'),('97e2a86d-802c-415f-8d2e-6d94a3390112','97e2a86d-802c-415f-8d2e-6d94a3390121','王五','123456');
84 
85 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
86 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
87 /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
88 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
View Code

相关文章:

  • 2022-01-30
  • 2022-01-13
猜你喜欢
  • 2021-08-23
  • 2021-06-01
  • 2021-10-21
  • 2022-01-13
  • 2022-01-08
  • 2021-07-08
相关资源
相似解决方案