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

使用pac4j实现SSO时INSTANCE单例缺失问题及相关咨询

pac4j框架SSO集成中INSTANCE静态字段缺失问题

我计划为现有Web应用添加SSO功能,选用pac4j框架并下载了jee-pac4j-demo,但运行时频繁触发**"INSTANCE静态字段缺失"**错误。

错误示例

src/main/webapp/loginForm.jsp第5行代码:

FormClient formClient = (FormClient) Config.INSTANCE.getClients().findClient("FormClient").get();

报错信息

Unable to compile class for JSP: 

An error occurred at line: [5] in the jsp file: [/loginForm.jsp]
INSTANCE cannot be resolved or is not a field
5:  FormClient formClient = (FormClient) Config.INSTANCE.getClients().findClient("FormClient").get();

根据Java文档,INSTANCE静态字段在pac4j 6.0.0-RC2版本左右被移除。现咨询以下问题:

  • 是否有5.7.x到6.0.x版本的变更文档/迁移指南?
  • INSTANCE的替代方案是什么?
  • 修改pom.xml指定旧版本能否解决问题?我尝试指定pac4j-core=5.7.0、jee-pac4j=7.1.0,但发现ForceLoginFilter中的代码:
    action = client.getRedirectionAction(new CallContext(context, JEESessionStore.INSTANCE)).get();
    
    CallContext仅存在于pac4j 6.0版本中,但该版本里JEESessionStore.INSTANCE已不存在,这种情况该如何处理?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 07:11:00