当用户浏览到不需要它的页面(并且他们没有登录)时,我试图让我的 MVC3 站点从 HTTPS 重定向回 HTTP。我不想承担运行整个站点 HTTPS 的负担,但看起来这就是我必须走的路。
我在远程调试和符号方面遇到了很多麻烦,但是回到 1985 年并使用消息框等价物进行调试,我得出了以下结论:
if (filterContext.ActionDescriptor
.GetCustomAttributes(typeof(RequireHttpsAttribute), true)
.Any()
)
{
return true;
}
return false;
总是返回假。
控制器 def 开始为:
[FilterIP(
ConfigurationKeyAllowedSingleIPs = "AllowedAdminSingleIPs",
ConfigurationKeyAllowedMaskedIPs = "AllowedAdminMaskedIPs",
ConfigurationKeyDeniedSingleIPs = "DeniedAdminSingleIPs",
ConfigurationKeyDeniedMaskedIPs = "DeniedAdminMaskedIPs"
)]
[RequireHttps]
public class AccountController : Controller
{
它似乎不适用于此控制器中的任何操作(尽管它们确实成功路由到 SSL)。
有什么建议么?我很想看到我认为是我自己的 nuery 的答案;)