c# - 在 asp.net Mvc 中将 HTTP POST 请求重定向到 HTTPS POST 请求

标签 c# asp.net asp.net-mvc-4 ssl https

我最近将我的 Windows 服务器设置为使用 SSL 证书在 HTTPS 上运行。我在将 HTTP 请求重定向到 https 时遇到了问题 我在 Global.asax 中添加这段代码

 protected void Application_BeginRequest()
    {

        if (!Context.Request.IsSecureConnection))
            Response.Redirect(Context.Request.Url.ToString().Replace("http:", "https:"));
    }

但只是 GET 请求重定向和 POST 请求失败。 请帮助我。

最佳答案

对此的最佳答案是不要按照您的意愿重定向,而是重定向到将提交给 HTTPS URI 的引荐来源网址的安全版本。

  1. 重定向 POST 请求不会转发数据。您的请求可能已通过这种方式重定向,并且您的代码因表单值为 NULL 而抛出错误
  2. 最初提交的数据在最初发布时并未加密。

关于c# - 在 asp.net Mvc 中将 HTTP POST 请求重定向到 HTTPS POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43596195/

相关文章:

c# - 使用Linq从字典中过滤掉某些键并返回一个新字典

c# - 首先使用实体​​框架代码创建数据库

c# - 在 C# 中启动 FFmpeg 时出现问题

c# - 如何提高 XSD 验证的冗长程度

javascript - ReferenceError : 'x' is not defined - asp.net mvc 局部 View 和 jQuery/JavaScript - 将整个模型传递给操作方法

asp.net - MVC Razor - 影响 TextBoxFor 和模型属性值的查询字符串

javascript - 编写新文本时更改文本框文本的颜色

c# - Entity Framework 错误 - 使用的 SQL Server 版本不支持数据类型 'datetime2'

html - 如何在 mvc 4 中的表单提交上调用 POST Controller 而不是 GET 方法

asp.net-mvc-4 - 如何通过 IP/角色/用户保护整个 MVC 区域?