Skip to content

zifangsky/easylimit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

easylimit

简介

easylimit框架是一个同时适用于传统MVC项目开发模式以及前后端分离项目开发模式的权限控制框架。需要注意的是,目前此框架仅限于在基于SpringJava Web项目中运行,且主要依赖spring-contextJacksonJedis这几个组件。

功能特性

在使用上,目前主要提供了以下功能特性:

  • 同时支持MVC前后端分离项目开发模式的权限控制
  • 支持完整的RBAC权限控制
  • 默认实现多种session_id生成方式,包括:随机字符串UUID雪花算法
  • 默认实现多种sessiontoken存储方式,包括:基于ConcurrentHashMap的内存存储、使用Redis等缓存存储
  • 默认实现AOP切面,支持多种权限控制注解,包括:@RequiresLogin@RequiresPermissions@RequiresRoles
  • 默认支持多种Access Token传参方式,且可以灵活扩展
  • 默认实现“是否踢出当前用户的旧会话”的选项
  • 默认实现多种登录登录方式、多种密码校验规则的简单接入。前者包括:“用户名+密码”登录、“手机号码+短信验证码”登录,后者包括:Base64Md5HexSha256HexSha512HexMd5CryptSha256Crypt等其他自定义密码加密/摘要方式
  • 使用简单,可扩展性强
  • 代码规范,注释完整,文档齐全,有助于通过源码学习其实现思路

开始使用

使用方式及详细说明可以查看这个文档站点:https://easylimit.zifangsky.cn/

鸣谢

前几年的时候,我很喜欢Apache Shiro这个权限控制框架,不过后面慢慢地Shiro不再满足项目开发的实际需求,从而让我萌生了自己动手开发一个权限控制框架的想法。不过在easylimit这个框架的早期开发阶段,我参考了很多Shiro的设计理念以及源码实现,在此我表示对Apache Shiro开发组及其社区由衷的感谢!

此外,我在设计基于前后端分离项目开发模式的权限控制时,也借鉴了一些JSON Web Token (JWT) 的设计思想,在此也表示感谢!

最后

欢迎大家积极使用这个框架,同时我也希望这个框架可以真正帮助到大家。如果大家在使用过程中有什么疑问或者好的建议,可以在项目中提 Issue,也可以加这个Q群(590424939)跟我即时交流。