2011-05-02 87 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