需要开发和现场网站

时间:2013-03-02 00:14:33

标签: .net asp.net-mvc ssl requirehttps

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

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

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

有任何线索吗?

2 个答案:

答案 0 :(得分:6)

重写RequireHttpsAttribute

的web.config

<appSettings>
  <add key="SSL" value="false" />
</appSettings>

MyHttpsAttribute.cs

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

BaseController

[MyHttps]
public abstract class BaseController : Controller
{
    ...
}

答案 1 :(得分:1)

如果您在调试/发布版本之间切换,可以在代码中执行此操作:

#if !DEBUG
    [RequireHttps]
#endif