Windows Active Directory 域
SPNEGO 是一种身份验证技术,主要用于为在 Active Directory域凭据下运行的Windows上运行的浏览器提供透明的CAS身份验证。涉及三个参与者:客户端、CAS服务器和Active Directory域控制器/KDC。
- Client sends CAS: HTTP GET to CAS for cas protected page
- CAS responds: HTTP 401 - Access Denied WWW-Authenticate: Negotiate
- Client sends ticket request: Kerberos(KRB_TGS_REQ) Requesting ticket for HTTP/cas.example.com@REALM
- Kerberos KDC responds: Kerberos(KRB_TGS_REP) Granting ticket for HTTP/cas.example.com@REALM
- Client sends CAS: HTTP GET Authorization: Negotiate w/SPNEGO Token
- CAS responds: HTTP 200 - OK WWW-Authenticate w/SPNEGO response + requested page.
当没有CAS SSO会话时,仅对第一个请求发生上述交互。一旦CAS授予票证授予票证,SPNEGO过程将不会再次发生,直到CAS票证过期。
必要条件:
- 客户端已登录到 Windows Active Directory 域.
- 本地安装了支持的浏览器.
- CAS 服务运行了 基于MIT Kerberos 的 Windows Active Directory 域控制器.
JCE 要求
确保在CAS使用的Java环境中安装了适当的JCE包是安全的,特别是当您需要使用ADF发出的加密有效负载时。确保为Java版本选择正确的JCE版本。可以通过Java-version命令检测Java版本。
大型Kerberos票证
如果组织用户拥有大量kerberos票证(可能是由于其是大量组的成员),则Tomcat连接器需要将maxHttpHeaderSize值从默认值增加,以允许将票证传递给CAS服务器应用程序。
配置使用
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-spnego-webflow</artifactId>
<version>${cas.version}</version>
</dependency>
详细配置参考:https://apereo.github.io/cas/6.5.x/authentication/SPNEGO-Authentication.html
作者:Jeebiz 创建时间:2022-10-25 13:27
最后编辑:Jeebiz 更新时间:2024-05-06 16:13
最后编辑:Jeebiz 更新时间:2024-05-06 16:13