2011-05-02 92 views

回答

1

你可以在IIS7中做到這一點。轉到應用程序的SSL設置,您將看到帶有選項的複選框,顯示「需要SSL」,選中該複選框並完成您的工作。現在您的網站只能從https訪問,而不能從http訪問。 請記住,您需要擁有SSL證書,否則瀏覽器將顯示您的網站的一些警告消息。 而你..我不認爲你可以用web.config來實現這一點。

編輯:示例代碼

使用Global.asax文件可以進行完全自定義。您可以添加特定條件並應用https或http。下面的代碼示例顯示,如果頁面是Login/checkout,並且連接不安全,則從http重定向到https,並且我可能不需要https用於聯繫人頁面。

protected void Application_BeginRequest(Object sender, EventArgs e) 
    {   
      if ((Request.Path.EndsWith("login.aspx") || Request.Path.EndsWith("checkout.aspx")) && !Request.IsSecureConnection) 
      { 
       Response.Redirect(Request.Url.AbsoluteUri.Replace("http:", "https:")); 
      } 
      else if (Request.IsSecureConnection && !Request.Path.EndsWith("contact.aspx"))    
      { 
       Response.Redirect(Request.Url.AbsoluteUri.Replace("https:", "http:")); 
      } 
     } 
+0

感謝您的回答,我知道我可以使用IIS綁定來做到這一點,但我無法訪問它們。 – HCL 2011-05-02 13:46:32

+0

我會建議使用IIS,但由於您沒有訪問權限,您可以在web.config中執行此操作 。更多詳細信息http://forums.asp.net/t/1409637.aspx/1 – pramodtech 2011-05-02 13:54:47

+0

+1謝謝,我試過這個,但這似乎並不禁用登錄頁面本身,用戶可以登錄(不安全)和之後此操作將顯示ssl所需的錯誤。是否也可以禁用登錄頁面的http,以便用戶不會未加密地發送其憑據? – HCL 2011-05-02 14:17:56