首頁>Program>source

如何在基於ASP.NET MVC的站點中的某些頁面上使用HTTPS?

史蒂夫·桑德森(Steve Sanderson)在預覽4上以DRy方式提供了一个很好的教程,该教程以DRy方式进行:

http:// blog .codeville.net / 2008/08/05 / adding-httpsssl-support-to-aspnet-mvc-routing /

預覽5是否有更好/更新的方式?

最新回復
  • 5月前
    1 #

    如果您使用的是ASP.NET MVC 2預覽2或更高版本,則現在可以簡單地使用:

    [RequireHttps]
    public ActionResult Login()
    {
       return View();
    }
    

    但是,订购引數值得一提,如此處所述。

  • 5月前
    2 #

    MVCFutures具有" RequireSSL"屬性。

    (感谢亚当在更新的博客文章中指出這一點)

    只需將其應用於您的操作方法即可,如果您希望http://請求自動成為https://,則使用'Redirect = true'

       [RequireSsl(Redirect = true)]
    

    另請參阅:仅在生产中使用ASP.NET MVC RequireHttps

  • 5月前
    3 #

    如Amadiere所言,[RequireHttps]在MVC 2中非常適合輸入HTTPS.但是,如果您只想像您所說的那樣在一些頁面上使用HTTPS,則MVC 2不会给您任何帮助-一旦將使用者切換到HTTPS,他们就会被卡在那裏,直到您手動重定向它们為止.

    我使用的方法是使用另一个自定義屬性[ExitHttpsIfNotRequired].附加到控製器或操作後,如果出現以下情况,它將重定向到HTTP:

    請求是HTTPS

    [RequireHttps]屬性未應用於操作(或控製器)

    請求是GET(重定向POST会匯致各種麻煩)。

    太大了,無法在此處發佈,但是您可以在此處看到代碼以及一些其他详细資訊。

  • 5月前
    4 #

    這是Dan wahlin最近在此發佈的帖子:

    http://weblogs.asp.net/dwahlin/archive/2009/08/25/requiring-ssl-for-asp-net-mvc-controllers.aspx

    他使用ActionFilter屬性。

  • 5月前
    5 #

    某些ActionLink擴充套件:http://www.squaredroot.com/post/2008/06/11/MVC-and-SSL.aspx 或重定向到https:// http://forums.asp.net/p/1260198/2358380.aspx#2358380

    的控製器操作屬性

  • asp.net:在没有UrlScan的情况下删除/隱藏/禁用Azure / IIS7中過多的HTTP响應標頭
  • html:防止網頁"過度滚動"