做过开发的人都知道,"登录"这两个字看着简单,做起来全是坑:注册、找回密码、邮箱验证、手机验证码、微信/GitHub 第三方登录、多因素认证、单点登录、权限管理……每加一个应用就再抄一遍。企业里更麻烦,十个系统十个账号密码,员工记不住,管理员管不动。
今天五哥要给大家介绍的 Casdoor,干的就是把这件事一次性解决:一个开源的 IAM(身份与访问管理)+ 单点登录(SSO)平台,自带完整的 Web 管理控制台,部署起来就是一个 Go 二进制加一个数据库。
一句话概括:给你的所有应用装一个统一的"大门卫"——用户只注册登录一次,所有应用都能进;协议全支持、界面能定制、还能自托管,数据都在自己手里。
📌 Casdoor 是什么?
Casdoor 出自 Casbin 团队(就是那个在 GitHub 上拿了几万个 Star 的权限库 Casbin 的原作者团队),2020 年开源,发展到现在已经是 14.5k+ Star、1900+ Fork、300 多位贡献者,CNCF Landscape 收录项目,协议 Apache-2.0——个人用、公司用、改了拿去卖,都没有法律障碍。
它同时是好几重身份:
🔐 认证服务器——替你的应用处理登录、注册、找回密码、MFA;
🎫 单点登录中心——用户登录一次,Grafana、GitLab、Nextcloud 等所有接入的应用全通;
🧭 身份提供商(IdP)——对上游,它也能接 Entra ID(Azure AD)、Okta、ADFS、Keycloak,把企业已有的账号体系同步进来;
🛂 协议大满贯——OAuth 2.0、OIDC、SAML 2.0、CAS、LDAP、SCIM 2.0、WebAuthn、RADIUS,甚至最近还加上了 Kerberos/SPNEGO 桌面 SSO;
🤖 AI Agent 网关——这是它最新的差异化:内置 MCP Server 和 OAuth 2.1 for Agents,连 AI Agent 的身份和权限也能管。
✨ 核心能力:登录这件事,它全包了

这是 Casdoor 的登录页,顶部四个标签就把主流认证方式摆齐了:Password(密码)、Code(验证码)、WebAuthn(通行密钥)、Face ID(人脸)。下面那一整墙的图标是它支持的第三方登录——GitHub、Google、微信、QQ、钉钉、飞书、百度、微博、Gitee、企业微信……官方宣称支持 75+ 身份提供商,国内外主流的基本一个不落。
更细的能力都在控制台里:
👥 多组织多租户——每个组织有独立的用户、应用、登录页品牌,一台服务器可以服务多家公司;
🔑 MFA 全家桶——TOTP、短信、邮箱验证码、WebAuthn 硬件密钥,官方还开源了配套的 Android/iOS 认证器 App;
🛡️ 权限引擎——底层就是 Casbin,ACL、RBAC、ABAC 随便配,权限还能设定自动过期;
🔄 用户同步——SCIM 2.0 供给、Active Directory / Entra ID / Google Workspace / 钉钉 / 企业微信 / 飞书同步器,Excel 批量导入导出也有;
💳 内置收费系统——接了支付宝、微信支付、Stripe、PayPal,做 SaaS 的可以直接用它管订阅和付费,这个很多同类产品没有;
📊 审计与安全——登录记录、设备、IP、会话管理、并发会话上限,审计日志可转发到 Syslog/SIEM。
🖥️ 管理控制台:中文友好,开箱即用

控制台是 React 写的,2026 年刚重过一版:命令面板、批量操作、可自定义列的两栏表格。中文界面完整覆盖(全项目支持 11 种语言),菜单按"用户管理 / 身份认证 / Casbin 权限管理 / 大语言模型 AI / 审计 / 商业 / 管理工具"分区,第一次用也能找到北。
每个对象(用户、应用、提供商、证书……)都有 REST API 和 Swagger 文档,控制台能干的 API 都能干,还有 20 多个官方 SDK 覆盖 Go、Java、Python、Node.js、PHP、Rust、React、Vue、Flutter 等主流技术栈。
🎨 登录页能玩出花

登录页支持按应用/组织定制:HTML、CSS、背景、Logo、布局随便改,官方还做了登录页主题市场。上面这张亮色版和前面那张暗色版,就是同一套系统里不同主题的样子。做 B2B 的给每个客户换一套皮,很实用。
🚀 上手:一条 Docker 命令的事
先说最省事的评估方式,一条命令:
docker run -p 8000:8000 casbin/casdoor-all-in-one
浏览器打开 http://localhost:8000,默认账号 admin / 123(组织 built-in),就能进控制台玩了。官方 demo 在 demo.casdoor.com,也是 admin / 123。
正经部署推荐 Docker Compose(Casdoor + MySQL 8):
git clone https://github.com/casdoor/casdoor.git
cd casdoor
# 编辑 conf/app.conf 配置数据库连接
docker compose up
配置要点就三个:数据库连接(driverName + dataSourceName)、origin 设成你的公网 HTTPS 地址、runmode = prod。Kubernetes 用户有官方 Helm Chart:
helm install casdoor oci://ghcr.io/casdoor/helm-charts/casdoor
一个很贴心的功能是配置即代码:启动时可以加载 JSON/YAML 的 Init data 文件,配合 initDataWatchInterval 还能不重启持续生效,甚至有官方 Terraform Provider,适合玩 GitOps 的团队。
🔌 怎么接进你自己的应用?
两条路,选顺手的:
标准协议直连——你的应用只要支持 OIDC 或 SAML 就能接。比如 Grafana、GitLab、Nextcloud、Vaultwarden、Immich、Argo CD 这些自托管常客,官方文档里都有分步教程,配好回调地址就完事。NAS 玩家把家里一堆服务的登录统一到 Casdoor,是它最常见的玩法之一。
SDK 接入——几行代码跳转登录、拿回用户信息:
await sdk.signin_redirect(); // Casdoor 处理一切
应用在控制台里创建一下、拿到 Client ID/Secret,前后端几十分钟就能跑通。
🤖 2026 年的新故事:给 AI Agent 发身份
Casdoor 最近一年最激进的动作是冲着 AI 来的:
🧠 内置 MCP Server——Claude Desktop、Cursor 等 MCP 客户端可以直接用自然语言管理 Casdoor 里的用户、应用和权限,每个工具调用都有 scope 级别的鉴权;
🤝 OAuth 2.1 for Agents——支持动态客户端注册、Token Exchange 和 DPoP,AI Agent 可以"代表用户"拿着更窄、可追溯的令牌去干活,而不是拿到用户的全量身份;
📜 Agent 审计——Agent 的登录和 API 调用和人类用户进同一条审计流水,可以转发到 SIEM。
MCP 服务器泛滥之后,"谁家的 Agent 在访问我的系统、它被允许干什么"正在变成新的认证难题,Casdoor 算是开源圈里最先认真回答这个问题的 IAM 之一。
🆚 和同类比一比
vs Keycloak:Keycloak 是老牌王者,但 Java 系、内存吃得凶、控制台对新手不算友好。Casdoor 是 Go 单二进制,轻、快、控制台更现代,中文生态和国内第三方登录(微信/QQ/钉钉/飞书)支持明显更好;Keycloak 胜在历史久、插件生态厚。国内团队二选一,我会先试 Casdoor。
vs Auth0 / Authing 等商业 SaaS:商业产品省心但按月活收费,规模一大就是每月几千刀;Casdoor 开源免费、可私有部署,用户数据不出门。代价是运维自己扛。
vs 自己写登录:注册/密码找回/MFA/会话管理这些"脏活"至少省几个月开发量,而且 Casdoor 的安全性是被几百个项目生产环境验证过的。
🤔 该说的坑,也得说
⚠️ 别用演示密码上生产——admin/123 是演示凭据,部署完第一件事改密码;
⚠️ 必须上 HTTPS——并把 app.conf 里的 origin 配成公网地址,否则回调会出问题;
⚠️ 多副本要上 Redis——单机随便跑,集群部署时 Redis 是必需品;
⚠️ 非 OIDC/SAML 的老系统接入要费点劲——协议是标准的,但遗留应用可能要自己写适配;
⚠️ 版本迭代飞快——基本每周都在发版,升级前看一眼 changelog 是好习惯。
🎯 总结
Casdoor 让我觉得难得的地方在于:它把"认证"这个所有系统都绕不开、但没人愿意重复造的轮子,做成了一个部署只要一条命令、界面全中文、协议一个大满贯、还不要钱的自托管服务。从个人 NAS 的服务统一登录,到创业公司给 SaaS 产品做用户体系,再到大企业接 AD/Entra ID 做员工单点登录,它都能兜住。
如果你符合下面任意一条,都值得花一个下午试试:
🧑💻 自托管了一堆服务(Grafana、GitLab、Immich、Vaultwarden……),受够了每个站一个账号密码的人;
🏗️ 在做 SaaS 或多应用产品,需要统一的用户中心和第三方登录,不想自己写认证的开发者;
🏢 公司里有多个内部系统,想接企业微信/钉钉/AD 做员工单点登录的 IT 负责人;
🤖 在搞 AI Agent / MCP,需要给 Agent 发身份、控权限、留审计的先行者。
🔗 官网:casdoor.org
🔗 GitHub:github.com/casdoor/casdoor
🔗 在线演示:demo.casdoor.com(admin / 123)
🔗 官方文档:casdoor.org/docs/overview
自己写登录是重复造轮子,Casdoor 让你把轮子造得比原厂还好——还免费。
— 墨涩