c# - 仅在登录页面上设置 SSL 页面

标签 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

最佳答案

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

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

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”选项。

关于c# - 仅在登录页面上设置 SSL 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6561483/

相关文章:

c# - 在实例构造函数之后调用静态构造函数?

asp.net - 如何使用ms访问数据库制作简单的ASP.net登录表单

asp.net - .NET 中的客户端证书

asp.net - IIS 通配符映射不适用于 ASP.NET

c# - 从另一个 DLL 调用一个 DLL

c# - 如何在 protected 中实现接口(interface)成员?

asp.net - 动态加载的用户控件 ID 和 javascript

visual-studio - 从另一台计算机访问IIS Express

c# - 向WPF Prism MVVM应用程序添加后台线程

asp.net - 是否可以在用户登录后将页面发送回页面?