单点登录

单点登录(SSO)系统,一个账号登录企业所有应用

员工登录一次,就能进入 OA、邮箱、代码仓库、BI 报表和各种 SaaS,不用每个系统记一套密码。Casdoor 同时支持 OAuth 2.0、OpenID Connect、SAML、CAS、LDAP 和 RADIUS,新系统和老系统都能接进来。

主流协议都支持

Web 应用用 OIDC、SAML 或 CAS 接入;只认 LDAP、RADIUS 的老软件、VPN 和网络设备,也能用同一套账号登录。

沿用已有的账号

员工可以用企业微信、钉钉、飞书扫码登录,也可以对接 AD 域、LDAP,以及 Entra ID、Okta、ADFS 等上游身份源。

一处退出,处处退出

支持后端通道登出和应用发起的登出;会话列表能看到设备和 IP,可以限制同时在线数。

老系统也能接

商业版提供常用系统接入模板和 Nginx、Kong 等网关插件;企业版提供表单代填和网关代理认证,老系统不用改代码。

支持的协议和能力

  • OAuth 2.0
  • OpenID Connect
  • SAML 2.0 IdP
  • CAS
  • LDAP 服务
  • RADIUS
  • Kerberos / SPNEGO
  • PKCE
  • 单点登出
  • IdP 发起的登录
  • 设备授权
  • Token Exchange
  • 多因素认证
  • 自定义登录页

单点登录是怎么工作的

单点登录(Single Sign-On,SSO)把“验证用户是谁”这件事从各个业务系统里拿出来,交给一个统一的认证中心。用户访问业务系统时,系统发现没有登录,就把用户带到认证中心;用户在认证中心登录一次,认证中心发给业务系统一张令牌,业务系统据此确认身份。之后再打开其他接入了同一认证中心的系统,认证中心发现用户已经登录,直接发令牌,用户不需要再输一次密码。

在 Casdoor 里,认证中心就是 Casdoor 本身,每个业务系统在 Casdoor 里对应一个“应用”。应用决定用哪种协议接入、允许哪些登录方式、登录页长什么样、要不要强制多因素认证。

接入一个系统要做什么

  1. 1在 Casdoor 控制台新建应用,填写回调地址,拿到 Client ID 和 Client Secret,或者下载 SAML 元数据。
  2. 2在业务系统里配置认证地址:支持 OIDC 的系统填 Casdoor 的发现地址,SAML 系统导入元数据,CAS 系统填 CAS 地址。
  3. 3自己开发的系统可以直接用 Casdoor 的官方 SDK,前端、后端、移动端都有。
  4. 4把用户导入 Casdoor,或者配置企业微信、钉钉、飞书、AD 同步,让账号自动进来。
  5. 5先接一个系统试运行,确认无误后再逐个迁移其他系统。

常见问题

Casdoor 的单点登录支持哪些协议?

作为身份提供方,Casdoor 支持 OAuth 2.0、OpenID Connect、SAML 2.0、CAS、LDAP、RADIUS 和 Kerberos/SPNEGO。它也可以作为服务方,对接上游的 OIDC、SAML 身份源,例如 Entra ID、Okta 和 ADFS。

老系统不支持任何标准协议,能做单点登录吗?

可以。企业版提供表单代填(浏览器插件和桌面客户端,C/S 客户端也能用)和网关代理认证(登录后通过 HTTP 头把身份传给后端),老系统不需要改代码。

单点登录会不会降低安全性?

单点登录让密码只在一个地方输入,反而更容易加固:在 Casdoor 上统一开启多因素认证、密码强度策略和登录审计,所有接入的系统都会受益。离职员工的账号在 Casdoor 里禁用一次,所有系统同时失效。

相关方案

延伸阅读