HCL Domino 12.0.1匿名访问与Authorization头冲突问题求助
Domino 12.x对HTTP请求的Authorization头处理逻辑做了调整,默认会触发内置身份验证流程,导致开了匿名权限的数据库仍弹出登录框。以下是具体解决步骤:
1. 配置服务器级HTTP参数
修改Domino服务器的HTTP配置,允许匿名请求携带Authorization头:
- 打开Domino Administrator,进入「配置」标签,找到对应服务器的「Internet站点」文档(无则新建HTTP站点)
- 切换到「Internet协议」→「HTTP」→「高级」选项卡
- 在「Notes.ini设置」中添加:
HTTPAllowAnonymousAuthWithAuthHeader=1 - 保存后重启HTTP服务,执行命令:
restart task http
2. 调整XPages REST服务的身份验证逻辑
如果服务器级配置不生效,在REST服务代码中强制跳过身份验证:
在REST服务的处理方法开头添加以下Java代码,强制将会话设置为匿名:
import com.ibm.domino.xsp.module.nsf.NSFService; import javax.faces.context.FacesContext; import lotus.domino.Session; FacesContext fc = FacesContext.getCurrentInstance(); NSFService nsfService = (NSFService) fc.getExternalContext().getApplicationMap().get("NSFService"); Session anonymousSession = nsfService.getAnonymousSession(); fc.getExternalContext().getSessionMap().put("com.ibm.xsp.session", anonymousSession);
确保读取Authorization头的逻辑优先执行,避免Domino身份验证触发。
3. 确认数据库ACL配置
再次验证数据库权限:
- ACL中「匿名」用户权限为「编辑者」,且未勾选「需要密码」
- 数据库高级ACL设置中「允许匿名访问」已勾选
4. 校验Authorization头格式
确保头格式符合标准(如JWT的Bearer <token>),Domino 12.x对格式校验更严格,错误格式会触发身份验证提示。
内容的提问来源于stack exchange,提问作者Vijayakumar Oorappan
相关产品推荐
相关产品推荐

