如何返回安全的https链接inc#MVC app

时间:2014-03-18 17:18:25

标签: asp.net-mvc

我最近从GoDaddy购买了SSL证书,并获得了我网站的安全链接(https:mysite)

我可以安全地访问我网站上的所有链接。

问题是除非有人知道他们将继续使用http的安全链接。

我使用C#MVC编写了网站。

当人们转到使用https安全访问的特定页面浏览量时,如何强制执行。

我是否需要添加到控制器中以确保Web协议是https而不是http时返回视图?

我是否需要在网络服务器级别或代码中执行此操作?

2 个答案:

答案 0 :(得分:1)

RequireHttpsAttribute外,您还可以创建URL Rewrite rules within your web config

<rewrite>
    <rules>
        <rule name="Redirect HTTP to HTTPS" stopProcessing="true">
            <match url="(.*)"/>
            <conditions>
                <add input="{HTTPS}" pattern="^OFF$"/>
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther"/>
        </rule>
    </rules>
</rewrite>

答案 1 :(得分:0)

您可以使用全局过滤器执行此操作:

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        // require https for all calls
        filters.Add(new RequireHttpsAttribute());
    }
}

从你的global.asax中调用它:

protected void Application_Start()
{
    ...
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    ...
}