Asp.net mvc 3 MVC3 SSL故障-Can';当不需要SSL时,请不要从HTTPS切换到HTTP
我试图让我的MVC3站点在用户浏览到一个不需要它的页面(并且他们没有登录)时从HTTPS重定向回HTTP。我不想让整个网站都运行HTTPS,但看起来这是我必须走的路 我在远程调试和符号方面遇到了很多问题,但追溯到1985年,使用消息框等价物进行调试,我得出了以下结论:Asp.net mvc 3 MVC3 SSL故障-Can';当不需要SSL时,请不要从HTTPS切换到HTTP,asp.net-mvc-3,ssl,https,Asp.net Mvc 3,Ssl,Https,我试图让我的MVC3站点在用户浏览到一个不需要它的页面(并且他们没有登录)时从HTTPS重定向回HTTP。我不想让整个网站都运行HTTPS,但看起来这是我必须走的路 我在远程调试和符号方面遇到了很多问题,但追溯到1985年,使用消息框等价物进行调试,我得出了以下结论: if (filterContext.ActionDescriptor .GetCustomAttributes(typeof(RequireHttpsAttribute), true) .Any() )
if (filterContext.ActionDescriptor
.GetCustomAttributes(typeof(RequireHttpsAttribute), true)
.Any()
)
{
return true;
}
return false;
总是返回false
控制器def启动为:
[FilterIP(
ConfigurationKeyAllowedSingleIPs = "AllowedAdminSingleIPs",
ConfigurationKeyAllowedMaskedIPs = "AllowedAdminMaskedIPs",
ConfigurationKeyDeniedSingleIPs = "DeniedAdminSingleIPs",
ConfigurationKeyDeniedMaskedIPs = "DeniedAdminMaskedIPs"
)]
[RequireHttps]
public class AccountController : Controller
{
而且它似乎不适用于此控制器中的任何操作(尽管它们确实成功地路由到SSL)
有什么建议吗?我很想看到一个答案,我认为这是我自己的nubery;)
我使用上面的链接帖子来实现我的自定义属性,并从https重定向到http。希望这有帮助。我的问题被发现与发布到的服务器上的绑定有关。我们在stage和production中使用同一台服务器,并且没有设置stage-https绑定,因此每当它调用https页面时,它都会解析到我们的生产站点(该站点看起来很像,所以很难发现)
一旦我添加了一个绑定,一切都解决了。我的代码还可以…出于安全考虑,为什么要切换到非ssl?请记住,身份验证令牌和会话ID可以通过非ssl发送,会话劫持很容易发生。谢谢,尽管我想调试getcustomattributes,但没有任何建议?抱歉,没有建议。我也不知道getcustomattriutes为什么失败。