使用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
相关产品推荐
相关产品推荐

