2011-12-20 114 views
8

我使用[RequireHttps]强制用户仅在https上浏览特定页面。这很好,但它有一个问题。一旦用户导航到另一个页面,它仍然有https。我只希望https浏览只有几页。 如何将用户从Https重定向到http?有没有可能使用RedirectToAction()方法?ASP.NET MVC3从https重定向到http

+0

相关问题适用于MVC 2:http://stackoverflow.com/questions/2560615/redirect-away-from-https-with-asp-net-mvc-app – 2011-12-21 04:42:29

回答

3

一个更好的问题是,为什么你会希望用户在已经完成所有手抖的艰苦工作时恢复到http,这样在http上使用https的开销几乎不存在。

看一看这个question

但回答你的问题,存在MVC没有实现要做到这一点,你必须自己做。

看看这个question,它描述了如何做你想做的。

+11

从HTTPS重定向到HTTP的一个很好的理由是因为该页面将嵌入您无法控制的第三方内容,而您不知道该内容是否安全。在受保护的页面上嵌入不安全的内容可能会导致它中断。 – jmacinnes 2011-12-26 22:09:45

0

有时这是一个必要的罪恶。我们必须从HTTPS应用程序中重定向到HTTP页面,因为我们正在与之交谈的Epson ePOS打印机没有HTTPS端点来公开其脚本。

在混合内容阻止被强制执行时,Chrome v38中有这方面的解决方法,但在iOS9的Safari中,我们必须重定向通过HTTP提供的特定页面,然后在将它们重定向回HTTPS的网站。

再一次,它不是很好,但有时候你需要对这些事情保持务实。