我有一个apache 2.2,它使用auth_kerb_module来启用AuthType Kerberos。 并非所有用户都使用启用了NTLM的浏览器。这就是为什么我们必须将 KrbMethodK5Passwd 设置为on(例如,它在firefox的弹出窗口中询问用户和密码)。 另一方面,这个站点通过webdav发布文档,而microsoft office使用ADAL进行身份验证(我们需要编辑从office到webdav这个webdav存储库的文档)。因为我们没有Oauth,所以当请求的Authorization标头设置为Bearer时,我们需要将响应头WWW-Authenticate设置为Negotiate 。 这是我们使用的指令
SetEnvIf Authorization "Bearer" ISADAL
Header always set WWW-Authenticate Negotiate env=ISADAL
该指令似乎有效但Bache返回两个标题
WWW-Authenticate: Negotiate Basic realm="
WWW-Authenticate: Negotiate
如果我们将KrbMethodK5Passwd
设置为关闭,WWW-Authenticate: Negotiate Basic realm="
消失。
我认为在KrbMethodK5Passwd
指令适用之后Negotiate Basic realm="
设置header set
。你认为这可能是问题吗?
在KrbMethodK5Passwd on
适用于只有一个WWW-Authenticate标头后,有没有办法编辑标题?
谢谢!!!