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

TCM*_*TCM 3 c# asp.net iis

我想只为登录页面设置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

Ari*_*tos 7

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

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

HttpContext.Current.Request.IsSecureConnection
Run Code Online (Sandbox Code Playgroud)

IsSecureConnection,其实检查网址开头是https://开头

例如,如果您在登录页面上添加此内容,则可以在PageLoad或init上执行此操作

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

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

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

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

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

Ps SSL与非ssl页面并行运行,位于不同的端口上.由您决定导航用户的位置.所以没有"只有一页ssl"选项.