需要开发和现场网站

Dev*_*per 1 .net asp.net-mvc ssl requirehttps

我有一些ASP .NET MVC4网站,我必须先把它放到开发地点进行测试.开发网站没有SSL,但LIVE有它.

好.我必须[Requirehttps]在20个控制器内部使用,每次我在DEV网站上测试时都无法对它进行评论.

是否有任何方法至少根据某些web.config设置配置[Requirehttps]或者可能还有另一种方法?我的意思是,[Requirehttps]每当我在LIVE上发布网站时,我都不想评论大约20个.

任何线索?

Jas*_*sen 6

覆盖RequireHttpsAttribute

web.config中

<appSettings>
  <add key="SSL" value="false" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

MyHttpsAttribute.cs

public class MyHttpsAttribute : RequireHttpsAttribute, IAuthorizationFilter
{
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        if (bool.Parse(AppSettings["SSL"]) != true) {
            return;
        }
        base.OnAuthorization(filterContext);
    }
}
Run Code Online (Sandbox Code Playgroud)

BaseController

[MyHttps]
public abstract class BaseController : Controller
{
    ...
}
Run Code Online (Sandbox Code Playgroud)