1

私はいくつかの ASP .NET MVC4 Web サイトを持っています。最初に DEVELOPMENT 場所に配置してテストする必要があります。また、開発用 Web サイトには SSL がありませんが、LIVE には SSL があります。

良い。私は 20 個のコントローラー内で使用する必要[Requirehttps]があり、DEV Web サイトでテストするたびにコメントすることはできません。

少なくともいくつかの web.config 設定に基づいて [Requirehttps] を構成する方法はありますか、それとも別の方法がありますか? [Requirehttps]つまり、LIVEでウェブサイトを公開するたびに約20回コメントするのは好きではありません。

どんな手掛かり?

4

2 に答える 2

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
{
    ...
}
于 2013-03-02T00:48:29.877 に答える
1

デバッグ/リリース ビルドを切り替える場合は、コードでこれを行うことができます。

#if !DEBUG
    [RequireHttps]
#endif
于 2013-04-11T21:38:20.740 に答える