加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 07:18:45 所属栏目:asp.Net 来源:网络整理
导读:从一个MVC应用程序,我正在根据这个SO问题的答案采购带有身份验证的iCal订阅: Serving an iCalendar file in ASPNET MVC with authentication 使用DDay.iCal库从数据库中的事件动态创建iCal流. 此解决方案在本地开发服务器上运行良好:OSX日历和Outlook都可
从一个MVC应用程序,我正在根据这个SO问题的答案采购带有身份验证的iCal订阅:

Serving an iCalendar file in ASPNET MVC with authentication

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

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

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

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

编辑:获取weirder-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 Feed之外,还打破了其他所有身份验证.

现在他们又重新开启了一对,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

我不确定为什么会这样 – 或者还有什么可能会破坏 – 但今天我很高兴.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读