我有一些ASP .NET MVC4网站,我必须首先把开发地点放在测试。开发网站没有SSL,但LIVE有它。要求开发和现场网站的小问题
好吧。我必须在20个控制器中使用[Requirehttps]
,并且我无法在每次在DEV网站下测试时对其进行评论。
是否有任何方法来配置[Requirehttps]至少基于一些web.config设置或可能有另一种方法?我的意思是,每次我在LIVE下发布网站时,我都不喜欢评论20 [Requirehttps]
。
任何线索?
我有一些ASP .NET MVC4网站,我必须首先把开发地点放在测试。开发网站没有SSL,但LIVE有它。要求开发和现场网站的小问题
好吧。我必须在20个控制器中使用[Requirehttps]
,并且我无法在每次在DEV网站下测试时对其进行评论。
是否有任何方法来配置[Requirehttps]至少基于一些web.config设置或可能有另一种方法?我的意思是,每次我在LIVE下发布网站时,我都不喜欢评论20 [Requirehttps]
。
任何线索?
覆盖的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-02 00:59:12
欢迎来到SO。希望能看到更多你的帖子 – 2013-03-02 01:31:29
如果调试/ RELE之间切换您可以在您的代码中执行此操作:
#if !DEBUG
[RequireHttps]
#endif
这不是您的初始问题的答案,但您为什么不在您的开发服务器上启用https? – OakNinja 2013-03-02 00:20:27
@OakNinja嗯,我的网名表示他不能将GoDaddy Sertificate应用到开发网站... – 2013-03-02 00:28:34
您可以为您的开发人员设置自签名证书。机。请参阅:http://www.sslshopper.com/article-how-to-create-a-self-signed-certificate-in-iis-7.html和部分:生成具有正确公用名称的自签名证书 – OakNinja 2013-03-02 00:32:42