2011-12-20 113 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的網站。

再一次,它不是很好,但有時候你需要對這些事情保持務實。