https页面与Http页面自动切换-SSL解决方案[转]

出处:http://www.cnblogs.com/ywqu

一、背景资料

二、解决方案

1、原理

2、效果预览

三、源码分析

四、使用方式

1、添加程序集到Bin文件夹

2、配置Web.Config

五、总结

 

 

一、背景资料

安全套接层协议(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页面的时候,此解决方案可供选择。

源代码下载:http://files.cnblogs.com/ywqu/WebPageSecurity_v2_Demo_v31.rar

原文地址:http://www.codeproject.com/KB/aspnet/WebPageSecurity.aspx

 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2009/11/30/1613516.html

时间: 2024-11-01 05:53:48

https页面与Http页面自动切换-SSL解决方案[转]的相关文章

Android App中用Handler实现ViewPager页面的自动切换_Android

在很多电商网页及app上都有自动切换的商品的推广快,感觉体验挺不错的,正好今天学习使用ViewPager,因此也实现了一个功能类似的demo. 下面是其中的两个截图: 实现一个自动播放功能的ViewPager,要做的主要有以下的几个部分: 实现一个ViewPagerAdapter,用于为ViewPager提供展示内容(例如上面的两张小猫图片) public class ViewPagerAdapter extends PagerAdapter { private List<View> mDat

求助!从子页面自动切换到父页面的问题!!!

问题描述 有A,B两个页面,A是B的父页面,两个页面都是开着的状态.在B页面触发一个事件,切到A页面,并且在A页面展示消息框.我想问的是怎么自动切到A页面? 解决方案 解决方案二:写个A页面的路径或者用js的history.back解决方案三:其实主页面有弹窗就会自动切换回来.

android-jsp 页面图片自动切换代码

问题描述 jsp 页面图片自动切换代码 要求: 1.支持跨浏览器(常用的几种),IE需要支持低版本(IE6-IE8): 2.支持手机浏览(苹果IOS和android系统): 3.图片数量及切换的窗口大小可以自己设置(不要多处修改): 4.图片从有到左滚动,鼠标放上面,图片停止滚动,点击图片可以跳转到指定页面. 可以用jquery,多页面可以调用(只需修改图片参数即可). 效果类似下面网页:http://www.bj969.com/news/201601.xml 测试好了再回答,谢谢. 解决方案

winform 程序自动切换tabControl时页面就不能动了

问题描述 winform程序自动切换tabControl时页面就不能动了 解决方案 解决方案二:检查你的代码.回复内容太短了!解决方案三:用调试,看报什么错回复内容太短了!

Android App中用Handler实现ViewPager页面的自动切换

在很多电商网页及app上都有自动切换的商品的推广快,感觉体验挺不错的,正好今天学习使用ViewPager,因此也实现了一个功能类似的demo. 下面是其中的两个截图: 实现一个自动播放功能的ViewPager,要做的主要有以下的几个部分: 实现一个ViewPagerAdapter,用于为ViewPager提供展示内容(例如上面的两张小猫图片) public class ViewPagerAdapter extends PagerAdapter { private List<View> mDat

基于JQuery实现滚动到页面底端时自动加载更多信息

 这篇文章主要介绍了基于JQuery实现滚动到页面底端时自动加载更多信息,类似微博,新浪新闻的评论等,都采用了这方法,需要的朋友可以参考下 关键代码:  代码如下: var stop=true;  $(window).scroll(function(){      totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop());      if($(document).height() <= tot

为什么我只修改了jsp页面,tomcat会自动重新编译啊?

问题描述 为什么我只修改了jsp页面,tomcat会自动重新编译啊? 为什么我只修改了jsp页面,tomcat会自动重新编译啊? ps:例如我只要在原来jsp页面点击一下 空格 然后保存,,,,tomcat这就会自动重启 ,偶滴个神啊,求帮助!!! 解决方案 我知道的有两个方法: 1.在eclipse的Server视图中双击tomcat,在打开的配置界面中右侧的publish选项中选择 内容变化后不自动发布 ,意思是每次改变以后你要手动publish(不推荐) 2.打开Server.xml,找到

谢谢-为什么我只修改了jsp页面,tomcat会自动重新编译啊?

问题描述 为什么我只修改了jsp页面,tomcat会自动重新编译啊? 为什么我只修改了jsp页面,tomcat会自动重新编译啊?具体怎么设置呢? 解决方案 只要后台代码不做修改,只修改jsp页面tomcat会自动编译的.不用重启 解决方案二: 修改了jsp,当中包含了java代码,当然需要重新编译. 解决方案三: 修改jsp页面是不要重启的.修改java文件是要重启的.修改xml文件是要重启的.修改properties文件是不要重启的 解决方案四: 把在server.xml文件中设置中Conte

eclipse 编辑html页面,不知为何自动生成javascript代码,求解

问题描述 eclipse 编辑html页面,不知为何自动生成javascript代码,求解 是不是jsp配置的原因 解决方案 创建的时候把那些附加的选项都不要勾选,都去掉,创建一个空文档 解决方案二: 谢谢,已经解决了,原因是电脑中毒了. 解决方案三: - -...还以为你说的js代码跟你写的代码相关呢