一个组织只要稍微上点规模,账号就会散得到处都是:OA 一套、邮箱一套、代码仓库一套、CI 一套、监控一套、报表又一套。人入职时要挨个开,离职时要挨个关,漏掉一个就是一颗雷;密码策略各自为政,审计想查「谁在什么时候进了哪个系统」更是拼不拢。MaxKey 做的就是这件事——把这些系统接到同一个认证中心上,一次登录,处处通行。

Dromara MaxKey 是开源的单点登录认证系统,定位 IAM / IDaaS 身份管理与认证产品,名字取「马克思的钥匙」的谐音,寓意一把万能钥匙。它遵循 Apache License 2.0,源码托管在 Gitee(同时镜像到 GitHub、GitCode),是 Gitee 最有价值开源项目(GVP),仓库已有 15.1K Star、1.8K Fork。当前发布版本为 v4.2.0,2026 年 10 月更新。官方给的应用场景是医疗、金融、政务、制造这类系统多、合规要求重的行业。

MaxKey 官方标识横幅

能力边界:协议与登录方式

判断一个 SSO 产品能不能用,先看它认哪些协议。MaxKey 把支持程度自己分了三档,这份清单比一句「支持主流协议」实在得多:

协议支持程度典型对接对象
OAuth 2.x / OpenID Connect高自研 Web / 移动应用、第三方 SaaS
SAML 2.0高企业级商业软件、云服务平台
JWT高前后端分离、微服务间信任传递
CAS高高校与老一代 B/S 系统
SCIM 2.0高跨系统用户目录同步
FormBased、TokenBased(Post / Cookie)中没有标准协议的老系统
ExtendApi、EXT低需要自行扩展的特殊场景

登录侧同样列得很细,几乎把企业里能想到的入口都覆盖了:

登录方式官方支持范围
动态验证码字母 / 数字 / 算术
双因素认证短信 / 时间令牌 / 邮件
短信认证腾讯云短信 / 阿里云短信 / 网易云信
时间令牌Google / Microsoft Authenticator、FreeOTP,支持 TOTP 与 HOTP
域认证Kerberos / SPNEGO / AD 域
目录服务OpenLDAP / Active Directory / 标准 LDAP
社交账号微信 / QQ / 微博 / 钉钉 / Google / Facebook 等
扫码登录企业微信 / 钉钉 / 飞书
无密码登录WebAuthn FIDO2 / passkey

这里有个值得留意的点:从动态验证码、TOTP 一路到 AD 域、LDAP 与 passkey,说明它不是只做「网页跳转登录」的轻量组件,而是打算把企业现有的身份源一起接进来。FormBased 和 TokenBased 那两档「中」也很重要——老系统往往改不动,能靠表单代填和令牌传递接进来,落地阻力会小很多。

登录之后看到什么

认证中心登录后是一个应用门户,所有已授权的系统以卡片形式铺开,点一下直接跳转,不再重复输密码。官方演示里接了人力资源系统、Jira、GitLab、Jenkins、JumpServer、Nacos,以及 OAuth2 / OIDC / CAS / JWT / SAML 等各种协议的 Demo 应用。

MaxKey 认证中心登录页:账号登录、扫码登录、验证码与多种第三方登录入口

登录页本身相当朴素:账号密码加验证码,下方一排第三方登录图标,页脚标注版本与 Apache 2.0 许可。没有花哨的东西,这类基础设施界面越克制越好。

MaxKey 应用门户主界面:以卡片形式展示所有已接入的应用

管理端:账号、应用、审计三件事

SSO 的价值一半在登录,另一半在管理。MaxKey 把身份管理(IDM)、认证(AM)、单点登录、RBAC 权限与资源管理放在同一套后台里,几个关键能力:

  • 用户生命周期:支持 SCIM 2 协议,开箱即用的连接器负责身份供给同步,入职、调岗、离职的账号变更可以往下游系统推。
  • 目录与密码:简化 AD 域控、标准 LDAP 的组织与账号管理,提供密码自助重置。
  • 多租户:集团下多家企业独立管理,或企业内不同部门做数据隔离。
  • 策略与审计:密码策略、访问策略可配置;接 Ip2region 或 GeoLite2 做 IP 定位,覆盖用户全生命周期审计、访问行为追溯、合规审计与风险预警。
  • 平台覆盖:Web、iOS、Android 等终端,认证能力从 B/S 延伸到移动应用。

用户管理是典型的左侧组织树、右侧账号列表:登录账号、姓名、工号、部门、职位、状态一目了然,组织层级可以直接展开。

MaxKey 身份管理系统用户管理界面:组织树与账号列表

应用管理里每条记录对应一个接入系统,带协议类型、编码、分类、排序与启用状态——接入一个新系统,本质就是在这里建一条配置并把协议参数对齐。

MaxKey 应用管理界面:按 OAuth2、CAS、JWT、SAML 等协议列出已接入应用

访问报表是我觉得最容易被低估的一块:当日与 30 日访问趋势、按 IP 段统计的地域分布、按应用和浏览器分别汇总的访问量,都在同一页。合规检查、异常登录排查的时候,这类现成报表能省掉大量自己写 SQL 的工夫。

MaxKey 访问报表面板:访问趋势图、地域分布与访问量统计

技术栈与版本

基于 Java EE 平台、微服务架构,用 Spring、MySQL、Tomcat、Redis 这套常见组合,扩展性主要靠这套主流栈撑着。README 上的环境徽章标的是 JDK 21+ 与 MySQL 8.4+,动手前先把这两项对齐,别拿老环境硬装。

协议上要注意版本维护节奏:官方对每个发行版提供约一年技术支持,到期即 EOL。下载页把 4.1.x 的历史版本按支持周期列了出来,明确提醒 EOL 版本要及时升级。生产环境选版本时,别只挑「能跑起来」的那个,优先选仍在支持周期内的。

最快的上手路径

官方文档给了 Windows、Linux、Docker、Docker Compose、Rainbond、宝塔几条路,最省事的是 Compose:

# 1. 从仓库取出官方配置目录 deployment/docker
#    https://gitee.com/dromara/MaxKey/tree/main/deployment/docker
#    把整个目录放到服务器的 /root 下

# 2. 进入目录并启动
cd /root/docker
docker-compose up --build -d

镜像来自官方 Docker Hub 账号 maxkeytop,配置文件里已经编排好 MaxKey 与依赖组件,不用自己一个个拼。起完之后的访问地址与初始化步骤在官方文档的「应用访问」页。想省掉编译环节,也可以直接用官方发行版(Windows 版走网盘分发),但生产环境我更建议走容器、把配置纳入版本管理。

几条上线前的老实话:认证中心是全站信任根,务必放在 HTTPS 之后、限制管理后台的访问来源;MySQL 与 Redis 不要暴露到公网;初始化后立刻改掉默认管理员口令;密码策略、会话超时、双因素认证按组织要求先配好再放量。这些跟产品本身无关,但恰恰是这类系统最容易出事的地方。

我的一点判断

MaxKey 适合的画面很具体:内部系统超过五六个、有明确等保或审计要求、账号数据已经在 AD / LDAP 里、且有人愿意长期维护。它把协议适配、目录同步、审计报表这些重复劳动做成了产品,比每个系统各自实现一套登录划算得多。

反过来,如果只有一两个系统、团队三五个人,引入一套 IAM 带来的运维成本可能比省下的登录时间还多。另外要清醒:真正的工期不在装服务——Compose 一条命令就起来了——而在应用侧改造和账号数据治理。哪些系统能改协议、哪些只能走表单代填、历史账号怎么去重、离职回收链路能不能真正闭环,这些才是决定项目成败的部分。

顺带说明,上面几张官方截图里的姓名、应用清单与访问数据都是产品演示数据,不是真实组织的信息;界面里出现的第三方产品图标只是展示「可接入哪些系统」,并非推广。

小结

国产开源、Apache-2.0、协议覆盖完整、管理端功能齐、有活跃社区和明确的版本支持周期——对想自建统一身份入口的团队,MaxKey 属于少数可以直接放进选型清单认真评估的方案。它属于 Dromara 社区,社区主打微服务与云原生方向的开源共建。先看协议清单对不对得上现有系统,再花一个下午用 Compose 起一套跑通,比读十篇介绍管用。

本文整理自公开资料并做重写,原始出处:https://gitee.com/dromara/MaxKey。文中配图已去除站点叠加水印与推广信息;版权归原作者所有。

Last modification:November 10, 2026
如果觉得我的文章对你有用,请随意赞赏