我如何有条件地启用或禁用[RequireHttps]

时间:2011-06-09 08:29:37

标签: c# asp.net-mvc-2

[RequireHttps]
public class AccountController : BaseWebAppController

我需要有条件地启用或禁用此控制器的requirehttps。 我该怎么办?

3 个答案:

答案 0 :(得分:1)

您可以使用此处描述的方法:ASP.NET MVC RequireHttps in Production Only

答案 1 :(得分:0)

如果不知道你的条件是什么,这有点棘手,但我会沿着从RequireHttpsAttribute派生属性并覆盖HandleNonHttpsRequest的路线。在那种方法中,你应该能够测试你的状况并做出相应的反应。

答案 2 :(得分:0)

像这样:

public class ProdOnlyRequireHttpsAttribute : RequireHttpsAttribute
{
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        if (!Statics.IsPROD()) return;

        base.OnAuthorization(filterContext);
    }
}

然后

[ProdOnlyRequireHttps]
public class HomeController : Controller