2
我希望我的用戶只能通過SSL訪問特定的asp.net虛擬目錄。 web.config中有一個選項允許我指定它嗎?通過web.config禁用HTTP訪問
我希望我的用戶只能通過SSL訪問特定的asp.net虛擬目錄。 web.config中有一個選項允許我指定它嗎?通過web.config禁用HTTP訪問
你可以在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:"));
}
}
感謝您的回答,我知道我可以使用IIS綁定來做到這一點,但我無法訪問它們。 – HCL 2011-05-02 13:46:32
我會建議使用IIS,但由於您沒有訪問權限,您可以在web.config中執行此操作 。更多詳細信息http://forums.asp.net/t/1409637.aspx/1 –
pramodtech
2011-05-02 13:54:47
+1謝謝,我試過這個,但這似乎並不禁用登錄頁面本身,用戶可以登錄(不安全)和之後此操作將顯示ssl所需的錯誤。是否也可以禁用登錄頁面的http,以便用戶不會未加密地發送其憑據? – HCL 2011-05-02 14:17:56