仅在登录页面上设置SSL页面

本文关键字:设置 SSL 页面 登录 | 更新日期: 2023-09-27 18:00:54

我想只为登录页面设置SSL页面。我该怎么做?我指的是这篇文章:

http://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspx

但这个链接在整个网站上设置SSL是不可取的。我如何才能为登录页面或其他需要安全信息的页面启用它。我使用的是IIS 7.5,Asp.Net 4.0

仅在登录页面上设置SSL页面

一个简单的方法是在进入登录页面时检查页面是否安全,并在登录后将其重定向到非安全页面。

您可以使用以下命令检查页面是否安全

HttpContext.Current.Request.IsSecureConnection

IsSecureConnection,实际检查url是否以https://开头

例如,如果你在登录页面、PageLoad或init上添加这个,就可以完成的工作

if(!HttpContext.Current.Request.IsSecureConnection)
{
  Response.Redirect(Request.Url.Replace("http://","https://"),true);
  return;
}

但当你离开登录页面时,你需要将他重定向到非安全页面。

一种更复杂但更确定的方法是使用一种代码,该代码不仅检查一个页面,而且检查所有页面都基于规则。我建议我个人使用以下代码:

http://www.codeproject.com/KB/web-security/WebPageSecurity_v2.aspx

http://code.google.com/p/securityswitch/

Ps SSL与非SSL页面并行运行,在不同的端口上。在哪里导航用户取决于您。因此,不存在"只有一页ssl"选项。