You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CAS Spnego认证异常:Clock Skew Too Great(37)及重复请求问题求助

CAS SSO 登录AD服务器时,活跃用户超100触发Kerberos认证异常

我们内部有一款应用,通过CAS实现SSO登录LDAP(AD)服务器。正常状态下用户可通过SSO正常登录,但当活跃用户数超过100时,CAS会返回与AD相关的认证错误,必须重启CAS并关闭用户会话才能恢复。目前LUP CAS模块已2.5年未升级,一直维持当前版本运行。

错误日志

错误1:时钟偏移过大

Caused by: java.lang.reflect.InvocationTargetException
    at jdk.internal.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at jcifs.spnego.Authentication$ServerAction.run(Authentication.java:517)
    at jcifs.spnego.Authentication.processKerberos(Authentication.java:430)
    ... 197 more
Caused by: GSSException: Failure unspecified at GSS-API level (Mechanism level: Clock skew too great (37))
    at java.security.jgss/sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:859)
    at java.security.jgss/sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:361)
    at java.security.jgss/sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:303)
    ... 202 more
Caused by: KrbException: Clock skew too great (37)
    at java.security.jgss/sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:302)
    at java.security.jgss/sun.security.krb5.KrbApReq.<init>(KrbApReq.java:149)
    at java.security.jgss/sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:139)
    at java.security.jgss/sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:832)
    ... 204 more
jcifs.spnego.AuthenticationException: Error performing Kerberos authentication: java.lang.reflect.InvocationTargetException
    at jcifs.spnego.Authentication.processKerberos(Authentication.java:447)
    at jcifs.spnego.Authentication.processSpnego(Authentication.java:346)
    at jcifs.spnego.Authentication.process(Authentication.java:235)
    at org.apereo.cas.support.spnego.authentication.handler.support.JcifsSpnegoAuthenticationHandler.doAuthentication(JcifsSpnegoAuthenticationHandler.java:72)
    at lup.security.cas.LupActiveDirectorySpnegoAuthenticationHandler.doAuthentication(LupActiveDirectorySpnegoAuthenticationHandler.java:43)
    at org.apereo.cas.authentication.handler.support.AbstractPreAndPostProcessingAuthenticationHandler.authenticate(AbstractPreAndPostProcessingAuthenticationHandler.java:43)
    at jdk.internal.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)

错误2:请求重放

Caused by: java.lang.reflect.InvocationTargetException
        at jdk.internal.reflect.GeneratedMethodAccessor315.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at jcifs.spnego.Authentication$ServerAction.run(Authentication.java:517)
        at jcifs.spnego.Authentication.processKerberos(Authentication.java:430)
        ... 197 more
Caused by: GSSException: Failure unspecified at GSS-API level (Mechanism level: Request is a replay (34))
        at java.security.jgss/sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:859)
        at java.security.jgss/sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:361)
        at java.security.jgss/sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:303)
        ... 202 more
Caused by: KrbException: Request is a replay (34)
        at java.security.jgss/sun.security.krb5.internal.rcache.AuthList.put(AuthList.java:88)
        at java.security.jgss/sun.security.krb5.internal.rcache.MemoryCache.checkAndStore(MemoryCache.java:60)
        at java.security.jgss/sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:325)
        at java.security.jgss/sun.security.krb5.KrbApReq.<init>(KrbApReq.java:149)
        at java.security.jgss/sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:139)
        at java.security.jgss/sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:832)

已尝试的解决措施

  • 已通过服务器团队协助,使用NTP工具修复AD服务器与应用服务器的时间同步问题,但异常仍间歇性出现
  • 重启CAS应用后有时可恢复正常

预期目标

实现任意数量用户均可通过SSO正常登录CAS,无认证异常。

内容的提问来源于stack exchange,提问作者rohit0025

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 10:37:03