csharp MVC属性,用于将非HTTPS请求重定向到HTTPS URI。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp MVC属性,用于将非HTTPS请求重定向到HTTPS URI。相关的知识,希望对你有一定的参考价值。

using System;
using System.Web;
using System.Web.Mvc;

namespace Infrastructure
{
    /// <summary>
    /// MVC attribute that redirects non HTTPS requests to a HTTPS URI.
    /// </summary>
    public class RedirectToHTTPSAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            HttpRequestBase req = filterContext.HttpContext.Request;
            HttpResponseBase res = filterContext.HttpContext.Response;

            //Check if require is HTTPS
            if (!req.IsSecureConnection)
            {
                var builder = new UriBuilder(req.Url)
                {
                    Scheme = Uri.UriSchemeHttps,
                    Port = 443
                };
                res.Redirect(builder.Uri.ToString());
            }
            base.OnActionExecuting(filterContext);
        }
    }
}

以上是关于csharp MVC属性,用于将非HTTPS请求重定向到HTTPS URI。的主要内容,如果未能解决你的问题,请参考以下文章

csharp 如果页面对移动/非移动上下文无效,则MVC4操作过滤器属性将重定向到不同的控制器

如何将非 www 域重定向到 Azure 上托管的 asp.net mvc 中的 WWW 域?

将非 www 重定向到 www 以获取 https

Nginx:将非www重定向到www https

将非 WWW 重定向到 WWW 格式并重定向到 VirtualHost 中的 HTTPS

将非 www URL 重定向到 www URL