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

含特殊字符的用户名导致Domino基础认证失败问题咨询

解决Domino基础认证中含特殊字符用户名的问题

核心结论

需要启用并配置UTF-8字符编码,同时确保Angular端的编码逻辑与Domino端一致,才能解决特殊字符导致的认证失败问题。

Domino端配置调整

  • 打开Domino服务器文档,切换到「Internet协议 > HTTP」标签页
  • 在「字符集」区域,将「默认字符集」设置为 UTF-8
  • 勾选「启用URL编码」选项(若存在)
  • 重启Domino HTTP服务使配置生效

Angular端编码逻辑修正

浏览器会自动用UTF-8编码用户名/密码后再做Base64转换,但Angular中直接使用btoa()函数会因默认采用UTF-16编码,导致ö这类特殊字符处理错误。需替换为UTF-8编码逻辑:

// 处理UTF-8字符的Basic Auth编码函数
function generateBasicAuthHeader(username: string, password: string): string {
  const utf8Bytes = new TextEncoder().encode(`${username}:${password}`);
  const base64 = btoa(String.fromCharCode(...utf8Bytes));
  return `Basic ${base64}`;
}

验证要点

  • 生成的Authorization头需确保特殊字符被正确编码为UTF-8后再Base64(可通过编码工具对比结果)
  • 检查Domino服务器日志,确认无编码相关错误提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:42:06