摘要:
随着RESTful API的广泛应用,对权限管理的需求也日益增长。Shiro-Action是一个基于Shiro的权限管理系统,专注于RESTful风格的URL授权。本文将深入探讨Shiro-Action的设计思路、技术实现以及在实际项目中的应用价值。
一、引言
RESTful API因其简洁、易于扩展的特性,在现代软件开发中得到了广泛应用。然而,随着API数量的增加,如何确保每个API的安全性成为了开发者面临的重要问题。Shiro-Action正是为了解决这一问题而诞生的,它基于Shiro框架,为RESTful API提供了强大的权限控制功能。
二、Shiro-Action项目j
Shiro-Action采用了Spring Boot 2.0.6.RELEASE作为基础框架,集成了Shiro 1.4.0、MyBatis 1.3.2、Druid 1.1.10、PageHelper 1.2.9以及Shiro-Redis 3.2.3等技术。这样的技术栈保证了系统的稳定性、高性能以及易扩展性。
本项目使用 Spring Boot 搭建, 用于加深对 Spring Boot 与 Shiro 的学习, 项目特色是支持 restful 风格权限控制, 支持对同一 URL, 不同 HTTP Mehtod 的权限控制, 适用于更多的场景.
预览地址: http://shiro.jun6.net/
文档地址: http://docs.zhaojun.im/shiro/
默认管理员账号: admin
, 密码: 123456
.
普通用户账号: user
, 密码: 123456
.
为了不影响其他人的浏览体验, 请尽量不要进行删除类的敏感操作.
admin
为超级管理员, 自动拥有全部权限.
系统特色
-
支持根据同 URL, 不同 HTTP Method 来校验权限, 更支持 restful 场景.
-
集成 OAuth2 登录, 且提供了接口易于拓展开发.
-
全局异常处理. 根据请求方式区分返回 json 数据还是错误页面.
-
Logback MDC 支持, 将当前登录人和操作者 IP 加入日志中.
-
JSR-303 数据校验
运行环境
-
JDK 1.8
-
MySQL 5.7
-
Redis
快速开始
下载项目
git clone https://github.com/zhaojun1998/Shiro-Action.git
导入项目
使用自己的 IDE 导入, Eclipse 和 Intellij IDEA 均可.
导入数据库
创建数据库, 字符集选择 utf8
, 排序规则选择 utf8_general_ci
.
然后导入 shiro_action.sql
到数据库中.
配置文件
打开 application.properties
修改 MySQL
和 Redis
连接信息.
spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.cache.type=redis spring.datasource.username=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/shiro_action?useSSL=false&characterEncoding=UTF8
启动项目
在完成了上述步骤后,找到 ShiroActionApplication 启动类, 启动即可.
启动后访问地址为:http://localhost:8080 , 用户名:admin, 密码:123456.
系统预览
技术选型
前端
-
前端框架: Layui
-
后台模板: Z-Admin
后端
-
SpringBoot 2.0.6.RELEASE
-
Shiro 1.4.0
-
MyBatis 1.3.2
-
Druid 1.1.10
-
PageHelper 1.2.9
-
Shiro-Redis 3.2.3
其他工具类
-
OAuth2 认证工具类: JustAuth
-
Hutool : https://hutool.cn/
三、Shiro-Action核心特性
-
RESTful风格权限控制:Shiro-Action支持根据同一URL的不同HTTP Method进行权限控制,这使得系统能够更精细地管理权限,适应更多场景。
-
OAuth2登录集成:Shiro-Action集成了OAuth2登录机制,提供了易于拓展的接口,增强了系统的安全性。
-
全局异常处理:系统根据请求方式区分返回JSON数据或错误页面,提高了用户体验。
-
Logback MDC支持:Shiro-Action集成了Logback MDC,将当前登录人和操作者IP加入日志中,便于问题追踪。
-
JSR-303数据校验:通过JSR-303数据校验,保证了数据的准确性和完整性。
四、前端与后端框架选择
Shiro-Action的前端框架选择了Layui,这是一款轻量级、模块化的前端UI框架,能够快速构建美观、易用的用户界面。后台模板则选用了Z-Admin,这是一个基于Bootstrap的后台管理系统模板,提供了丰富的功能和良好的用户体验。
五、应用案例与前景
Shiro-Action在实际项目中已经得到了成功应用,为多个RESTful API提供了安全、高效的权限管理。随着RESTful API的普及,Shiro-Action的应用前景十分广阔。
六、结论
Shiro-Action作为一个基于Shiro的RESTful权限管理系统,凭借其强大的功能、灵活的配置以及良好的用户体验,成为了现代软件开发中不可或缺的一部分。通过对其技术栈、核心特性以及应用案例的深入分析,我们可以看到Shiro-Action在实际项目中的巨大价值。
项目下载地址:
https://github.com/zhaojun1998/Shiro-Action
欢迎加入“前端组件开发学习”交流群,一起学习成长!可关注 “前端组件开发” 公众号后,私信后申请入群。
欢迎加入“前端组件开发学习”交流群,一起学习成长!可关注 “前端组件开发” 公众号后,私信后申请入群。