Java三种优雅的权限认证框架

你们的项目产品中是否还在用着SpringSecurity、Shiro这种臃肿又复杂的权限认证框架?三跪九叩还没让你崩溃吗?反正我是崩溃了,今天我推荐下面三种权限认证框架,让权限认证在简单一点点...

SaToken

Satoken以轻量级为设计理念,通过简化权限管理的复杂性,使得整个框架更易上手,适用于中小型项目。

它可以进行登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权、前后端分离等非常丰富的认证鉴权框架。简化权限管理,脱离Shiro、SpringSecurity的复杂玩法。

采用Token机制,无需在服务器端保存用户的认证状态,提高了系统的可伸缩性,尤其适用于分布式和无状态的应用场景。

以下是一些支持的注解接方法Api。更多支持可以去官方文档进行查看。

java 复制代码
// 会话登录,参数填登录人的账号id 
StpUtil.login(10001);
// 校验当前客户端是否已经登录,如果未登录则抛出 `NotLoginException` 异常
StpUtil.checkLogin();
// 将账号id为 10077 的会话踢下线 
StpUtil.kickout(10077);
// 注解鉴权:只有具备 `user:add` 权限的会话才可以进入方法
@SaCheckPermission("user:add")
// 登录校验:只有登录之后才能进入该方法 
@SaCheckLogin 
// 角色校验:必须具有指定角色才能进入该方法 
@SaCheckRole("super-admin") 
// 路由鉴权 
registry.addInterceptor(new SaInterceptor(handler -> {
SaRouter.match("/user/**", r -> StpUtil.checkPermission("user"));
SaRouter.match("/admin/**", r -> StpUtil.checkPermission("admin"));
    // 更多模块... 
})).addPathPatterns("/**");

JustAuth

一个第三方授权登录的工具类库,它可以让我们脱离繁琐的第三方登录 SDK,让登录变得 So easy!

它支持:GitGub、Gitee、某Q、某博、某度、Google、FaceBook钉钉、某宝、某信。等等诸多平台认证。

提供了简单易用的API,方便集成第三方登录认证。适用于需要整合第三方登录的应用,例如社交分享、社交账号绑定等场景。

MaxKey

业界领先的IAM身份管理和认证产品。适用于大型企业级应用,特别是需要复杂权限管理和统一认证的场景,以及需要支持多种认证方式的项目。

统一认证和单点登录,简化账号登录过程,保护账号和密码安全,对账号进行统一管理

提供安全、标准和开放的用户身份管理(IDM)、身份认证(AM)、单点登录(SSO)、资源管理和权限管理(RBAC)等 支持OAuth 2.x/OpenID Connect、SAML 2.0、JWT、CAS、SCIM2.0标准协议。

多种社交平台集成企业某信、钉钉、飞书扫码登录,某信、某Q、钉钉、某博、微软、Google、Facebook等社交账号登陆信任。 且支持动态验证码、短信验证、时间令牌、域认证、LDAP。

相关推荐
行百里er5 小时前
Redis 完结篇——Redis 热点问题在 Spring Boot 项目中实战
redis·后端
高频因子挖掘机6 小时前
只取最近 60 个交易日,却每次拉全历史:量化脚本变慢的原因与改法
后端·github·api
孟健7 小时前
从5000亿Token到83%字节匹配:AI逆向工程与重构的工程闭环实践
后端·架构·ai编程
码事漫谈7 小时前
丢得静悄悄,谈一谈 Agent 的记忆是怎么没的
后端
迪飞特科技7 小时前
智慧物业平台实战:Spring Boot 整合小程序实现报修巡检费用全流程
spring boot·后端·小程序
考虑考虑8 小时前
@JsonInclude注解使用
spring boot·后端·spring
IT_陈寒8 小时前
Vite的这个问题坑了我三天,原来如此解决!
前端·人工智能·后端
网易云信8 小时前
大模型能上岗做销售吗?我们让 12 款国产模型交了 420 份作业
前端·后端
CCblandy8 小时前
HTTP 长连接 3 类故障实测:[WinError 10053]、99 个 TIME_WAIT、69 次多余握手,4 种对策怎么选
后端·python·网络协议·http·云原生·性能优化·架构
蜗牛互联网8 小时前
Python Agent工具调用的白名单、参数校验与审批门禁
java·服务器·前端·人工智能·后端·python