OFBiz登录失败:HttpServletRequest返回空Security对象
OFBiz登录面板异常(Security对象为空)解决方案
环境信息
- Java版本:Temurin-11.0.22+7
- OFBiz版本:18.12.11
问题现象
启动OFBiz服务后,登录面板无法正常显示,日志记录如下:
2024-01-29 09:14:02,552 |jsse-nio-8443-exec-5 |LoginWorker |W| 从HttpServletRequest获取到null的Security对象
2024-01-29 09:14:02,552 |jsse-nio-8443-exec-5 |ControlFilter |I| [过滤后的请求]: /catalog/control/main --> /control/main
解决方法
1. 检查HTTPS配置(核心排查点)
该警告多因安全上下文初始化失败导致,重点排查SSL相关配置:
- 确认
runtime/temp/ssl目录下是否存在自动生成的ofbiz.jks证书文件,若缺失,执行命令手动生成:./gradlew createKeystore - 打开
framework/security/config/security.properties,验证以下HTTPS参数配置正确:security.https.enabled=true security.https.port=8443 security.keystore.file=runtime/temp/ssl/ofbiz.jks security.keystore.password=changeit
2. 清理缓存并重启服务
- 删除
runtime/cache目录下所有文件,清除编译及页面缓存 - 停止OFBiz后重新启动:
./gradlew ofbiz
3. 修正访问路径
日志显示请求路径异常,直接访问标准登录入口测试:
- 使用
https://localhost:8443/control/login作为登录地址,避免直接访问业务模块入口(如/catalog/control/main)
4. 验证Java环境一致性
- 执行
java -version和javac -version,确认输出均为Temurin-11.0.22+7,避免系统默认JDK版本冲突 - 检查OFBiz启动脚本是否正确读取目标JDK环境变量
内容的提问来源于stack exchange,提问作者ansariBE
相关产品推荐
相关产品推荐

