6

如何在 asp.net c# 中从 http 重定向到 https 我已经安装了 https 证书现在我想使用 windows server 2008 R2 asp.net C# 4.0 将 https 作为我的网站 iam 的默认版本

4

2 回答 2

15

您是否正在寻找这样的东西:-

if (!Request.IsLocal && !Request.IsSecureConnection)
{
    string sUrl = Request.Url.ToString().Replace("http:", "https:");
    Response.Redirect(sUrl);
}

另请查看此相关论坛

从上面的链接: -

您可以安装 URL Rewrite Module,创建重定向规则并将其放入您的web.config文件

<rule name="http to https" stopProcessing="true">
     <match url=".*" />
     <conditions>
     <add input="{HTTPS}" pattern="off" />
     </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" />
 </rule>
于 2013-10-20T06:10:16.603 回答
12

比上面提到的更清洁/更简单的方法是使用包中的RequireHttpsAttributeSystem.Web.Mvc

只需通过将属性添加到FilterConfig.RegisterGlobalFilters()内部调用的方法来注册属性,Global.asax.cs如下所示:

过滤器配置文件

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new RequireHttpsAttribute());
    }
}

这将在所有控制器类中注册该RequireHttps属性,如果它还没有这样做,则强制它重定向到 HTTPS。

注意:这仅适用于 ASP.NET MVC,不适用于 WebAPI。

于 2013-11-01T10:58:35.330 回答