• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.netHTTP/HTTPS自动切换

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、背景资料

  安全套接层协议(SSL,Security Socket Layer)基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。SSL主要使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用Web Server方式。

  SSL安全协议主要提供三方面的服务:
    (1) 认证用户和服务器, 使得它们能够确信数据将被发送到正确的客户机和服务器上;
    (2) 加密数据以隐藏被传送的数据;
    (3) 维护数据的完整性, 确保数据在传输过程中不被改变。 

  对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性

  电子商务网站中,有的页面需要SSL,有的页面不需要SSL,那我们如何能够自动快速在HTTPS和HTTP之间切换呢?

  二、解决方案1、原理

  实现IHttpModule接口

  2、效果预览

  HTTP页面

  点击Login.aspx超链接 自动跳转到Https页面,如下图

  点击Contact.aspx链接 又自动切换为http页面,如下图

  三、源码分析

  使用第三方程序集 WebPageSecurity.dll

  四、使用方式1、添加程序集到Bin文件夹

  添加程序集WebPageSecurity.dll到Bin文件夹

  2、配置Web.Config

  ?    在<configSections >节点下加入以下配置

<section name="secureWebPages"
 type="Ventaur.Web.Security.Configuration.SecureWebPageSettings, WebPageSecurity"/>

  ?  在<configuration>节点下加入以下配置:

<secureWebPages mode="RemoteOnly" ignoreHandlers="WithStandardExtensions">
       <files>
           <add path="Login.aspx" />
           <add path="Legal/Privacy.aspx" />
           <add path="Legal/Copyright.aspx" secure="Ignore" />
       </files>
       <directories>
           <!--<add path="/" recurse="True" />-->
           <add path="Admin" recurse="True" />
           <add path="Admin/Info/" secure="Insecure" />
       </directories>
   </secureWebPages>

  ?        属性解释

 

 

  mode

  On (Default)   来自各个方向的请求使用SSL
  RemoteOnly   来自于远程客户的请求使用SSL 网站部署到服务器上使用此属性
  LocalOnly   本地调试时使用
  Off   SSL不可用

 

  <files>节点下的超链接 默认是使用SSL加密的。 也可对目录进行加密,也可对某一文件夹下的文件不使用SSL加密(如上配置节)。

  ?   添加Module到Application

  在<httpModules>节点下加入以下配置

<add name="WebPageSecurity"
 type="Ventaur.Web.Security.SecureWebPageModule, WebPageSecurity" />

  ?         新建基类BasePage.cs让所有的aspx页面继承于BasePage类

  BasePage.cs代码如下

  查看原图(大图)

  五、总结

  至此,无需在IIS上对每个页面进行配置,SSL加密页面与非SSL页面就可以自动转换了。特别是对于有大量SSL页面的时候,此解决方案可供选择。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET网站使用Kindeditor富文本编辑器配置步骤发布时间:2022-07-10
下一篇:
jquery使用ajax传内容到asp.net乱码解决【转】发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap