Skip to content

🔐 👥 一个简洁优美的 Springboot 集成 Shiro 的权限管理系统 : 非常具有参考与学习价值,推荐给 SpringBoot 及 Shiro 的初学者~

License

Notifications You must be signed in to change notification settings

kfoolish/springboot-shiro

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐👥 一个简洁优美的权限管理系统

项目简洁

✨ 如你所见 : 这或许是流程最清晰、代码最干净、注释最详细、配置最简单的 Shiro 项目啦 ! 非常适合进阶学习 SpringBoot 与 Shiro 的同学,是一个非常具有参考与学习价值的权限管理项目啦~

开发环境

工具 版本或描述
OS Windows 7 / 10
JDK 1.7+ / 11+
IDE IntelliJ IDEA 2017.3 / 2019.1
Maven 3.3.1 / 3.6.0
MySQL 5.6.4 / 8.0.0+

项目模块划分

模块 释义
shiro-core 核心业务类模块,提供基本的数据操作、工具处理等
shiro-admin 后台管理模块

数据库模型

sql model

使用说明

  1. 使用IDE导入本项目
  2. 新建数据库CREATE DATABASE shiro;
  3. 导入数据库docs/db/shiro.sql
  4. 修改(resources/application.yml)配置文件
    1. 数据库链接属性(可搜索datasource或定位到L.19)
    2. redis配置(可搜索redis或定位到L.69)
  5. 运行项目(三种方式)
    1. 项目根目录下执行mvn -X clean package -Dmaven.test.skip=true编译打包,然后执行java -jar shiro-admin/target/shiro-admin.jar
    2. 项目根目录下执行mvn springboot:run
    3. 直接运行ShiroAdminApplication.java
  6. 浏览器访问http://127.0.0.1:8080

用户密码

超级管理员 : 账号:root , 密码 : 123456

普通管理员 : 账号:admin , 密码 : 123456

Druid监控

链接 : http://127.0.0.1:8080/druid/index.html

用户名 : zyd-druid , 密码 : zyd-druid

项目结构

│ .gitignore │ LICENSE │ pom.xml │ README.md │ ├─docs │ ├─db │ │ shiro.sql │ │ │ └─img │ admin-resource.PNG │ admin-role.PNG │ admin-user.PNG │ db-datasource.PNG │ db-login.PNG │ index.PNG │ login.PNG │ role-role[admin].PNG │ root-resource.PNG │ root-role-[root].PNG │ root-role.PNG │ root-user.PNG │ sql-model.png │ ├─shiro-admin │ │ .gitignore │ │ pom.xml │ │ │ └─src │ ├─main │ │ ├─java │ │ │ └─com │ │ │ └─zyd │ │ │ └─shiro │ │ │ │ ShiroAdminApplication.java │ │ │ │ │ │ │ └─controller │ │ │ ErrorPagesController.java │ │ │ ExceptionHandleController.java │ │ │ PassportController.java │ │ │ RenderController.java │ │ │ RestResourcesController.java │ │ │ RestRoleController.java │ │ │ RestUserController.java │ │ │ │ │ └─resources │ │ │ application.yml │ │ │ logback.xml │ │ │ │ │ ├─static │ │ │ └─assets │ │ │ ├─css │ │ │ │ zhyd.core.css │ │ │ │ │ │ │ ├─images │ │ │ │ default-portrait.png │ │ │ │ favicon.ico │ │ │ │ loading.gif │ │ │ │ │ │ │ └─js │ │ │ jquery-form.js │ │ │ validator.js │ │ │ zhyd.core.js │ │ │ zyd.table.js │ │ │ zyd.tool.js │ │ │ │ │ └─templates │ │ │ index.ftl │ │ │ login.ftl │ │ │ │ │ ├─error │ │ │ 401.ftl │ │ │ 403.ftl │ │ │ 404.ftl │ │ │ 500.ftl │ │ │ │ │ ├─layout │ │ │ footer.ftl │ │ │ header.ftl │ │ │ setting.ftl │ │ │ sidebar.ftl │ │ │ │ │ ├─resources │ │ │ list.ftl │ │ │ │ │ ├─role │ │ │ list.ftl │ │ │ │ │ └─user │ │ list.ftl │ │ │ └─test │ └─java │ └─com │ └─zyd │ └─shiro │ ShiroAdminApplicationTests.java │ └─shiro-core │ .gitignore │ pom.xml │ └─src ├─main │ ├─java │ │ └─com │ │ └─zyd │ │ └─shiro │ │ ├─business │ │ │ ├─consts │ │ │ │ CommonConst.java │ │ │ │ SessionConst.java │ │ │ │ │ │ │ ├─entity │ │ │ │ Resources.java │ │ │ │ Role.java │ │ │ │ RoleResources.java │ │ │ │ User.java │ │ │ │ UserRole.java │ │ │ │ │ │ │ ├─enums │ │ │ │ ResourceTypeEnum.java │ │ │ │ ResponseStatus.java │ │ │ │ UserGenderEnum.java │ │ │ │ UserStatusEnum.java │ │ │ │ UserTypeEnum.java │ │ │ │ │ │ │ ├─service │ │ │ │ │ ShiroService.java │ │ │ │ │ SysResourcesService.java │ │ │ │ │ SysRoleResourcesService.java │ │ │ │ │ SysRoleService.java │ │ │ │ │ SysUserRoleService.java │ │ │ │ │ SysUserService.java │ │ │ │ │ │ │ │ │ └─impl │ │ │ │ ShiroServiceImpl.java │ │ │ │ SysResourcesServiceImpl.java │ │ │ │ SysRoleResourcesServiceImpl.java │ │ │ │ SysRoleServiceImpl.java │ │ │ │ SysUserRoleServiceImpl.java │ │ │ │ SysUserServiceImpl.java │ │ │ │ │ │ │ ├─shiro │ │ │ │ ├─credentials │ │ │ │ │ CredentialsMatcher.java │ │ │ │ │ RetryLimitCredentialsMatcher.java │ │ │ │ │ │ │ │ │ └─realm │ │ │ │ ShiroRealm.java │ │ │ │ │ │ │ └─vo │ │ │ ResourceConditionVO.java │ │ │ RoleConditionVO.java │ │ │ UserConditionVO.java │ │ │ │ │ ├─framework │ │ │ ├─config │ │ │ │ DruidConfig.java │ │ │ │ ErrorPagesConfig.java │ │ │ │ FreeMarkerConfig.java │ │ │ │ MybatisConfig.java │ │ │ │ RedisConfig.java │ │ │ │ ShiroConfig.java │ │ │ │ WebMvcConfig.java │ │ │ │ │ │ │ ├─exception │ │ │ │ ZhydException.java │ │ │ │ │ │ │ ├─holder │ │ │ │ RequestHolder.java │ │ │ │ SpringContextHolder.java │ │ │ │ │ │ │ ├─interceptor │ │ │ │ RememberAuthenticationInterceptor.java │ │ │ │ │ │ │ ├─object │ │ │ │ AbstractBO.java │ │ │ │ AbstractDO.java │ │ │ │ AbstractService.java │ │ │ │ BaseConditionVO.java │ │ │ │ PageResult.java │ │ │ │ ResponseVO.java │ │ │ │ │ │ │ ├─property │ │ │ │ DruidProperties.java │ │ │ │ RedisProperties.java │ │ │ │ │ │ │ ├─redis │ │ │ │ CustomRedisManager.java │ │ │ │ │ │ │ ├─runner │ │ │ │ BlogApplicationRunner.java │ │ │ │ │ │ │ └─tag │ │ │ CustomTagDirective.java │ │ │ │ │ ├─persistence │ │ │ ├─beans │ │ │ │ SysResources.java │ │ │ │ SysRole.java │ │ │ │ SysRoleResources.java │ │ │ │ SysUser.java │ │ │ │ SysUserRole.java │ │ │ │ │ │ │ └─mapper │ │ │ SysResourceMapper.java │ │ │ SysRoleMapper.java │ │ │ SysRoleResourcesMapper.java │ │ │ SysUserMapper.java │ │ │ SysUserRoleMapper.java │ │ │ │ │ ├─plugin │ │ │ BaseMapper.java │ │ │ │ │ └─util │ │ AesUtil.java │ │ IpUtil.java │ │ Md5Util.java │ │ PasswordUtil.java │ │ ResultUtil.java │ │ SessionUtil.java │ │ │ └─resources │ └─mybatis │ SysResourceMapper.xml │ SysRoleMapper.xml │ SysUserMapper.xml │ SysUserRoleMapper.xml │ └─test └─java └─com └─zyd └─shiro ListUtilTest.java ShiroCoreApplicationTests.java 

图片预览

📸 用户登录页

用户登录

📸 系统首页

首页

📸 资源管理页

资源管理

📸 角色管理页

角色管理

📸 为角色分配资源

角色分配资源

📸 用户管理页

用户管理

📸 为用户分配角色

用户分配角色

注 : 以上图片为root用户登录后的部分截屏,admin用户的界面请参考docs/img下的图片哟~

参考资料

  1. 本项目部分代码参考自网络文章 : 查看原文链接
  2. 前端模板来源自开源模板 : 查看模板链接查看开源项目
  3. 部分js实现参考开源项目 : 查看开源项目

About

🔐 👥 一个简洁优美的 Springboot 集成 Shiro 的权限管理系统 : 非常具有参考与学习价值,推荐给 SpringBoot 及 Shiro 的初学者~

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 59.2%
  • CSS 18.7%
  • FreeMarker 11.9%
  • JavaScript 10.2%