当浏览器是挪威语时,SAML IssueInstant 会使用 . 代替 :

当浏览器是挪威语时,SAML IssueInstant 会使用 . 代替 :

当我使用挪威语 (locale:nb) 浏览器时,我的 SAML 请求出现 IssueInstant="2019-04-08T14.04.45Z",但当我更改为英语 (locale:en) 时,出现正确的 :。有人知道我可以在哪里更改它吗?这是在 Windows Server 2016 上。我们在 Windows Server 2012 中没有遇到同样的问题。

答案1

运行服务器的人们找到了一个临时的解决方案:

仔细研究了一下时间格式问题。根本原因可能是微软在 Windows2016 / .NET4 中将时钟“分隔符”从 : 改为 . [1] 这解释了为什么这在旧解决方案中有效,但在新解决方案中无效。

尝试在操作系统层面解决这个问题,通过创建新的语言环境 [2] 来改变挪威语的时间格式。不幸的是,这并没有解决问题,如果浏览器语言设置为挪威语,页面仍然会失败。

但我在 LB 上制定了一条规则,将“Accept-Language”请求标头替换为 en_US,然后它就可以正常工作了。不要认为这是一个完整的解决方案,因为所有用户都将被强制使用英语,但这可能是一个潜在的解决方法,可以进一步测试(使用英语),直到找到永久的解决方案。

[1]https://www.codeproject.com/Articles/15175/NET-Internationalization-The-Developer-s-Guide-to

[2]https://blogs.msdn.microsoft.com/shawnste/2015/08/27/locale-builder-and-finnish-or-other-locales/

相关内容