gpt4 book ai didi

asp.net-mvc-3 - 如何删除不需要的 WWW-Authenticate header

转载 作者:行者123 更新时间:2023-12-02 17:55:12 25 4
gpt4 key购买 nike

从 MVC 应用程序中,我正在根据此问题的答案获取带有身份验证的 iCal 订阅:

Serving an iCalendar file in ASPNET MVC with authentication

iCal 流是使用 DDay.iCal 库根据数据库中的事件动态创建的。

此解决方案在本地开发服务器上运行良好:OSX 日历和 Outlook 都可以订阅应用程序并接收更新。

但是,在我的 Web 主机的共享服务器上,日历和 Outlook 的身份验证均失败。也就是说,在(正确的)用户名和密码失败后,他们都不断向我询问用户名和密码。

编辑:如果我将浏览器指向日历 URL,它也会失败身份验证。

编辑:变得更奇怪 - Firefox 进行身份验证并获取 iCal 文件。 Safari、Chrome 和 IE 身份验证失败。

如果我使用相同的凭据将curl 指向日历URL,我就会成功(即我获得了所需的iCal 文件)。当然,可以使用相同的凭据登录 MVC 应用程序。

编辑 - 我想我知道发生了什么事,但我不知道如何解决它。在我的 OnAuthorization() 中,我只添加了 WWW-Authentication Basic 但使用 Fiddler,我可以看到提供了三种类型的身份验证:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Secure Calendar"
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
... etc ...

此时,只有 Firefox 响应基本授权,并且成功。

GET <<URL>> HTTP/1.1
...
Authorization: Basic <<encoded credentials>>

IE 响应 Negotiate,但失败

GET <<URL>> HTTP/1.1
...
Authorization Negotiate <<encoded stuff>>

谁在添加另外两个,我怎样才能让它停止?以下是服务器响应的更多详细信息:

HTTP/1.1 401 Unauthorized
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 3.0
WWW-Authenticate: Basic realm="Secure Calendar"
X-AspNet-Version: 4.0.30319
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
X-Powered-By-Plesk: PleskWin
Date: Tue, 23 Oct 2012 13:27:48 GMT

谢谢,埃里克

最佳答案

哈哈,答案就在IIS配置中。

我要求主机管理员关闭其他身份验证,这破坏了除 iCal 源之外的所有内容。

现在,他们已经重新启动了一些功能,MVC 站点以及带有身份验证的日历提要都可以正常工作...哇!非常非常灿烂的笑容。

这是我们最终得到的 IIS 配置:

Name                        Status         Response Type
Anonymous Authentication Enabled
ASP.NET Impersonation Disabled
Basic Authentication Disabled HTTP 401 Challenge
Digest Authentication Disabled HTTP 401 Challenge
Forms Authentication Enabled HTTP 302 Login/Redirect
Windows Authentication Enabled HTTP 401 Challenge

我不确定为什么这有效 - 或者还有什么可能会破坏 - 但今天我很高兴。

关于asp.net-mvc-3 - 如何删除不需要的 WWW-Authenticate header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13023519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com