JAVA三种权限认证框架的搭建方法

简介: SaToken、JustAuth和MaxKey是三个用于身份认证和权限管理的工具。SaToken是轻量级框架,简化登录、权限、OAuth2.0等认证,适合中小型项目;JustAuth是第三方授权登录库,支持多种社交平台,易于集成;MaxKey是企业级IAM产品,提供复杂的权限管理和统一认证,支持多种标准协议及社交账号集成。

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。


转载来源:https://juejin.cn/post/7311697095504232486

相关文章
|
1天前
|
前端开发 JavaScript Java
计算机java项目|springboot基于spring框架的电影订票系统
计算机java项目|springboot基于spring框架的电影订票系统
|
1天前
|
存储 安全 Java
详解 Spring Security:全面保护 Java 应用程序的安全框架
详解 Spring Security:全面保护 Java 应用程序的安全框架
5 1
|
1天前
|
存储 安全 Java
深入理解Java中的ThreadLocal机制:原理、方法与使用场景解析
深入理解Java中的ThreadLocal机制:原理、方法与使用场景解析
10 2
|
2天前
|
Web App开发 XML 安全
《手把手教你》系列基础篇(七十三)-java+ selenium自动化测试-框架设计基础-TestNG实现启动不同浏览器(详解教程)
【6月更文挑战第14天】本文介绍了如何使用TestNg进行自动化测试,特别是通过变量参数启动不同浏览器的步骤。
14 5
|
2天前
|
Java
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
13 0
|
3天前
|
监控 Java 测试技术
《手把手教你》系列基础篇(七十二)-java+ selenium自动化测试-框架设计基础-TestNG简单介绍(详解教程)
【6月更文挑战第13天】本文介绍了TestNG单元测试框架,它是一个灵感来源于JUnit和NUnit的测试框架,支持多种级别的测试,如单元测试、集成测试等。TestNG的特点包括丰富的注解、数据驱动测试、变量支持、自动生成HTML测试报告等。与JUnit和NUnit相比,TestNG在某些功能上更为强大。文章还详细讲解了如何在Eclipse中安装TestNG插件,提供了在线安装、更新站点安装和离线安装三种方法,并展示了安装成功的验证步骤。最后,通过一个项目实战案例展示了如何使用TestNG编写和运行测试代码。
13 2
|
3天前
|
存储 安全 算法
Java基础19-一文搞懂Java集合类框架,以及常见面试题(二)
Java基础19-一文搞懂Java集合类框架,以及常见面试题(二)
31 8
|
3天前
|
安全 Java 开发工具
Java基础19-一文搞懂Java集合类框架,以及常见面试题(一)
Java基础19-一文搞懂Java集合类框架,以及常见面试题(一)
30 6
|
1月前
|
缓存 NoSQL Java
一个轻量级 Java 权限认证框架——Sa-Token
Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。
|
11月前
|
Java
Java SpringBoot集成WebSocket根据登陆权限认证
Java SpringBoot集成WebSocket根据登陆权限认证