springbootAndShiro

本文介绍如何在SpringBoot项目中整合Shiro框架实现权限管理,包括配置依赖、搭建用户表、角色表及用户角色关系表等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

titledatetags
springboot+shiro整合
2019-12-18 05:16:48 -0800
springboot
shiro

依赖包

<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring</artifactId>
    <version>1.4.0</version>
</dependency>

数据库表

用户表 system_user

CREATE TABLE `system_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `user_name` varchar(100) DEFAULT NULL COMMENT '登录账号',
  `real_name` varchar(100) DEFAULT NULL COMMENT '真实姓名',
  `password` varchar(255) DEFAULT NULL COMMENT '密码',
  `salt` varchar(45) DEFAULT NULL COMMENT 'md5密码盐',
  `avatar` varchar(255) DEFAULT NULL COMMENT '头像',
  `birthday` datetime DEFAULT NULL COMMENT '生日',
  `sex` int(11) DEFAULT NULL COMMENT '性别(1:男 2:女)',
  `email` varchar(45) DEFAULT NULL COMMENT '电子邮件',
  `phone` varchar(45) DEFAULT NULL COMMENT '电话',
  `status` int(2) DEFAULT NULL COMMENT '状态(1:正常  2:冻结 )',
  `del_flag` varchar(1) DEFAULT NULL COMMENT '删除状态(0,正常,1已删除)',
  `activiti_sync` varchar(6) DEFAULT NULL COMMENT '同步工作流引擎1同步0不同步',
  `create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

角色表 system_role

CREATE TABLE `system_role` (
  `id` varchar(32) NOT NULL COMMENT '主键id',
  `role_name` varchar(200) DEFAULT NULL COMMENT '角色名称',
  `role_code` varchar(100) NOT NULL COMMENT '角色编码',
  `description` varchar(255) DEFAULT NULL COMMENT '描述',
  `create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_role_code` (`role_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

用户角色表 system_user_role

CREATE TABLE `system_user_role` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `user_id` varchar(32) DEFAULT NULL COMMENT '用户id',
  `role_id` varchar(32) DEFAULT NULL COMMENT '角色id',
  PRIMARY KEY (`id`),
  KEY `index2_groupuu_user_id` (`user_id`) USING BTREE,
  KEY `index2_groupuu_ole_id` (`role_id`) USING BTREE,
  KEY `index2_groupuu_useridandroleid` (`user_id`,`role_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

shiro相关

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 TCP(传输控制协议)是互联网上广泛使用的网络协议,它提供了一种面向连接、可靠且基于字节流的传输层通信服务。本文将详细解释TCP协议中的三次握手和四次挥手过程,以帮助理解其工作原理。 三次握手 三次握手是TCP建立连接时必须遵循的步骤,用于确保双方能够正确地发送和接收数据。具体过程如下: SYN(同步序列号):客户端发起连接请求,发送一个SYN报文段,其中包含自己的初始序列号ISN。此时,客户端进入SYN_SENT状态。 SYN+ACK(确认):服务器收到SYN后,回复一个SYN+ACK报文段,包含自己的ISN,并确认客户端的SYN,确认号为客户端ISN+1。服务器此时进入SYN_RECEIVED状态。 ACK(确认):客户端收到服务器的SYN+ACK后,发送一个纯ACK报文段,确认号为服务器ISN+1,表示已收到服务器的SYN。客户端进入ESTABLISHED状态,服务器收到ACK后也进入ESTABLISHED状态,连接建立完成。 三次握手的主要作用是防止失效的连接请求报文误传到服务器,导致服务器误认为是新的连接请求,从而浪费资源。 四次挥手 四次挥手用于终止TCP连接,释放双方资源。过程如下: FIN(结束):一方完成数据发送后,发送一个FIN报文段,请求关闭连接,进入FIN_WAIT_1状态,等待对方确认。 ACK(确认):接收方收到FIN后,发送一个ACK报文段,确认号为收到的序列号加1,表示已接收FIN。发送方进入FIN_WAIT_2状态,等待对方的FIN报文。 FIN(结束):接收方准备好关闭连接时,也会发送一个FIN报文段,请求关闭连接。此时,发送方进入LAST_ACK状态,等待最后一个ACK。 ACK(确认):原发送方收到FIN后,发送一个ACK报文段,确认号为收到的序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值