asp.net-mvc-3 – 如何删除不需要的WWW-Authenticate标头
从一个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 我不确定为什么会这样 – 或者还有什么可能会破坏 – 但今天我很高兴. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 模型 – 视图 – 控制器 – ASP.NET WebForms vs MVC [VS20
- asp.net – 单元测试和Log4net
- WiX(Votive)项目参考收获(HEAT)ASP.Net Web应用程序
- asp.net-mvc – 在asp .net mvc 5中预编译razor视图
- asp.net – 的目的
- asp.net-mvc – 在VS2013中将Azure单点登录添加到现有的MVC
- asp.net – 如何避免System.Xml.Linq.XElement转义HTML内容
- asp.net – 使用ASP:文本框作为
- asp.net – 如何拦截WCF .svc服务中对方法的所有调用?
- asp.net-mvc-3 – MVC3下载单个文件
- 谈谈基于SQL Server 的Exception Handling[上篇]
- asp.net – 从User.Identity.Name中删除域名
- asp.net从指定文化获取.resx的所有资源(Resource
- Visual Studio 2017下ASP.NET CORE的TagHelper智
- asp.net-mvc-4 – 使用导航路由的ASP.NET,Twitte
- App_GlobalResources(ASP.NET)中的子文件夹
- asp.net-mvc – 在操作过滤器上使用缓存数据,以避
- ASP.NET -- WebForm -- 缓存Cache的使用
- asp.net-mvc-3 – 无法添加从其他类继承的模型的
- asp.net-mvc – 添加TwilioController基类继承后