推荐一款轻量级 Java 权限认证框架,主打一个优雅集成!一行代码,一键“踢人”下线(带私活)

今天给大家介绍一款轻量级 Java 权限认证框架,主打一个优雅集成!

简介

Sa-Token是一个开源软件,可轻轻松松搞定 登录认证、权限认证、分布式Session会话等问题。

该开源项目代码可读性,集成简单,值得学习一番。

功能一览

Sa-Token 目前主要五大功能模块:登录认证、权限认证、单点登录、OAuth2.0、微服务鉴权。列举部分功能如下
  • 登录认证 —— 单端登录、多端登录、同端互斥登录、七天内免登录

  • 权限认证 —— 权限认证、角色认证、会话二级认证

  • Session会话 —— 全端共享Session、单端独享Session、自定义Session

  • 踢人下线 —— 根据账号id踢人下线、根据Token值踢人下线

  • 账号封禁 —— 登录封禁、按照业务分类封禁、按照处罚阶梯封禁

  • 分布式会话 —— 提供jwt集成、共享数据中心两种分布式会话方案

  • 模拟他人账号 —— 实时操作任意用户状态数据

  • 同端互斥登录 —— 像QQ一样手机电脑同时在线,但是两个手机上互斥登录

作者还提供一张功能列表图,详情说明了Sa-Token的功能分布,贴在这里供大家参考

图片

img

使用样例

Sa-Token 将程序员的优雅玩到了一定级别,代码令人赏心悦目,以登录认证为例,只需要如下一行代码即可
// 会话登录,参数填登录人的账号id 
StpUtil.login(10001);
如果一个接口需要登录后才能访问,依然只需要一行代码
// 校验当前客户端是否已经登录,如果未登录则抛出 `NotLoginException` 异常
StpUtil.checkLogin();
其他场景依旧
  • 踢人下线

// 将账号id为 10077 的会话踢下线 
StpUtil.kickout(10077);
  • 权限认证

// 注解鉴权:只有具备 `user:add` 权限的会话才可以进入方法
@SaCheckPermission("user:add")
public String insert(SysUser user) {
    // ... 
    return "用户增加";
}

Sa-Token使用情况

目前有不少项目,使用了Sa-Token,简单列举如下,可供大家参考,足以说明该系统走在正确的路上
  • [ Snowy ]:国内首个国密前后分离快速开发平台,采用 Vue3 + AntDesignVue3 + Vite + SpringBoot + Mp + HuTool + SaToken。

  • [ RuoYi-Cloud-Plus ]:重写RuoYi-Cloud所有功能 整合 SpringCloudAlibaba Dubbo3.0 Sa-Token Mybatis-Plus MQ OSS ES Xxl-Job Docker 全方位升级 定期同步

  • [ EasyAdmin ]:一个基于SpringBoot2 + Sa-Token + Mybatis-Plus + Snakerflow + Layui 的后台管理系统,灵活多变可前后端分离,也可单体,内置代码生成器、权限管理、工作流引擎

总结

对于程序员来说,看看作者的代码实现也能有巨大收获,看看如何clean code,同时也能了解一波登录鉴权的玩法,何乐而不为。

文档地址:https://sa-token.cc/doc.html

开源地址:https://gitee.com/dromara/sa-token

写在最后(私活源码)

项目介绍

Jeepay是一套适合互联网企业使用的开源支付系统,支持多渠道服务商和普通商户模式。已对接微信支付,支付宝,云闪付官方接口,支持聚合码支付。

Jeepay使用Spring Boot和Ant Design Vue开发,集成Spring Security实现权限管理功能,是一套非常实用的web开发框架。

项目特点

· 支持多渠道对接,支付网关自动路由

· 已对接微信服务商和普通商户接口,支持V2和V3接口

· 已对接支付宝服务商和普通商户接口,支持RSA和RSA2签名

· 已对接云闪付服务商接口,可选择多家支付机构

· 提供http形式接口,提供各语言的sdk实现,方便对接

· 接口请求和响应数据采用签名机制,保证交易安全可靠

· 系统安全,支持分布式部署,高并发

· 管理端包括运营平台和商户系统

· 管理平台操作界面简洁、易用

· 支付平台到商户系统的订单通知使用MQ实现,保证了高可用,消息可达

· 支付渠道的接口参数配置界面自动化生成

· 使用spring security实现权限管理

· 前后端分离架构,方便二次开发

· 由原XxPay团队开发,有着多年支付系统开发经验

系统架构

Jeepay计全支付系统架构图

图片

核心技术栈

软件名称

描述

版本

Jdk

Java环境

1.8

Spring Boot

开发框架

2.4.5

Redis

分布式缓存

3.2.8 或 高版本

MySQL

数据库

5.7.X 或 8.0 高版本

MQ

消息中间件

ActiveMQ 或 RabbitMQ 或 RocketMQ

Ant Design Vue

Ant Design的Vue实现,前端开发使用

2.1.2

MyBatis-Plus

MyBatis增强工具

3.4.2

WxJava

微信开发Java SDK

4.1.0

Hutool

Java工具类库

5.6.6

开发部署

· 系统开发:https://docs.jeequan.com/docs/jeepay/dev_serv

· 通道对接:https://docs.jeequan.com/docs/jeepay/dev_channel

· 线上部署:https://docs.jeequan.com/docs/jeepay/deploy

· 接口文档:https://docs.jeequan.com/docs/jeepay/payment_api

功能模块

Jeepay运营平台功能

图片

Jeepay商户系统功能

图片

系统截图

以下截图是从实际已完成功能界面截取

图片

图片

图片

图片

图片

图片

图片

图片

开源地址

 扫码关注本号,后台回复 支付

扫码关注本号,后台回复 支付

持续关注本号,分享更多项目源码

  • 25
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值