【发布时间】:2017-04-12 02:19:14
【问题描述】:
我有一个使用 antiforgerytoken 来保护所有表单的应用程序。该应用程序托管在将 http 绑定设置为 8080 abd 将 https 设置为 443(默认 https 端口)的网站上。到目前为止,我确保所有请求都是通过 https 发出的(MVC 应用程序正在使用所需的 https 过滤器,web config 将 cookies 条目 requiressl 设置为 true,并且 owin 将 auth cookies 也设置为 https)。
最近,我们不得不改变一些事情,因为现在我们有一个防火墙来为我们处理 https 请求。它将始终通过 https 向最终客户端提供响应,但我更改了我的应用程序,以便可以通过 http 调用它。
我已从配置中删除了所需的 https 过滤器、cookie 所需的 ssl 并更改了 owin auth cookie 设置,并认为一切都会好起来的。不幸的是,这并没有发生,我已经开始在验证期间收到防伪令牌 cookie 丢失异常。现在,问题是,如果我使用 https,一切正常,但如果我更改为 http(位于端口 8080 中),它就会中断。
我最终从全局 asax 中更改了防伪配置设置,但我无法为之前的问题找到一个好的解释。换句话说,为什么https访问没有任何问题但http访问最终抛出异常说它找不到防伪cookie...
有什么想法吗?
谢谢, 路易斯
【问题讨论】:
标签: asp.net-mvc http https antiforgerytoken