在当今的信息化时代,企业级权限管理是保障信息安全、提高系统稳定性的关键。JeecgBoot作为一款优秀的低代码开发平台,集成了Shiro安全框架,使得企业级权限管理变得轻松简单。本文将带你从入门到精通,详细了解如何在JeecgBoot中集成Shiro安全框架,实现企业级权限管理。
一、JeecgBoot简介
JeecgBoot是一款基于Spring Boot、MyBatis、Shiro等主流框架的低代码开发平台,它可以帮助开发者快速搭建企业级应用。JeecgBoot具有以下特点:
- 低代码开发:通过可视化配置,减少代码编写,提高开发效率。
- 组件丰富:提供丰富的组件库,满足不同业务需求。
- 插件化开发:支持插件扩展,方便二次开发。
- 高度集成:集成Shiro、Spring Security等安全框架,保障系统安全。
二、Shiro安全框架简介
Shiro是一个开源的安全框架,用于实现企业级应用的安全控制。Shiro具有以下特点:
- 身份验证:支持多种身份验证方式,如账号密码、手机验证码等。
- 权限管理:支持基于角色的权限管理,实现细粒度的权限控制。
- 会话管理:支持分布式会话管理,保证会话的一致性。
- 加密:提供多种加密算法,保障数据安全。
三、JeecgBoot集成Shiro安全框架
1. 添加依赖
在JeecgBoot项目中,需要添加Shiro依赖。以下是Maven依赖配置:
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.8.0</version>
</dependency>
2. 配置Shiro
在application.yml文件中,配置Shiro相关参数:
shiro:
config: classpath:shiro.ini
realm: com.example.shiro.MyRealm
cacheManager: com.example.shiro.MyCacheManager
sessionManager:
sessionValidationInterval: 1800
globalSessionTimeout: 1800
deleteInvalidSessions: true
3. 编写Shiro配置文件
创建shiro.ini文件,配置Shiro相关参数:
”`ini [main]
配置Shiro Realm
authcRealm=org.apache.shiro.realm.SimpleAccountRealm
配置Shiro过滤器
filterChainDefinitionMap=authc/authc, anon/, /login/, /logout/, /static/, /css/, /js/, /images/, /druid/, /swagger/, /api/, /tools/, /upload/, /excel/, /code/, /sys/, /sys/role/, /sys/user/, /sys/dept/, /sys/log/, /sys/notice/, /sys/param/, /sys/menu/, /sys/cfg/, /sys/dict/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant/, /sys/tenant
