电子签名实现的思路、困难及解决方案
2005-11-16 00:13
316 查看
在办公自动化的流程中希望实现电子签名。
思路:
1、图片的存放:安全起见存放在库中为宜。最好不能被轻易下载。
2、使用的过程:显示一个密码框和“签名”按钮,输入密码并按下按钮后,如果正确,隐藏输入框和按钮,显示图片。
3、我的所有控件都是通过解析xml后动态生成的,签名应该是一个新类别无疑(类别4),它至少得对两个地方增加代码:(1)创建部分(得同时创建输入密码框、按钮、图片显示框)(2)写入部分,得解析出实际的值,存在xml中。
困难之一:图片的存入和取出
解决:网上的方法很多,改下就行了。我用的显示方法是,图片指向一个链接,该链接返回一个纯图片,因而这个图片不能被保存。
困难之二:动态生成的按钮的响应事件
解决:在外面写好按钮的处理方法,然后把委托作为参数传递给创建函数。如下
static public void CreateControl(string strXml,HtmlContainerControl contain,int top,int left,System.EventHandler SignHandle)
XmlPage.CreateControl(xmldoc,DIV2,40,0,new System.EventHandler(this.SignButton_Click)); //加载改分类的默认属性
困难之三:这个比较不起眼,但其实很麻烦。原因:有按钮就有多次PostBack->需要每次都动态创建原来的控件->每次动态创建控件,都会重写控件->
(1)对于可见的控件,如文本框,虽然理论上讲动态创建过程可能讲刚刚填入的内容抹掉,但实际上没有,Postback前填入的内容依然存在,所以不会有问题。
(2)对于密码输入框,Postback后内容就消失了,所以无法保存输入的内容。那么,签名的值就很难被保存住。试过很多的方法:用label不行,最后写入时无法取到label的值(被初始的加载语句抹了),用textbox,隐藏的Textbox直接就不会传送到客户端(并非我想象的是一个Hidden的Input)。
解决:在签名检验成功后,直接对Session中保存的xmldoc进行写,只写签名的值,其它的都不动。最后写入时,跳过签名的类型不管(因为已经写过了)
困难之四:不同的类型的xml切换时会出现控件重叠出现。
解决:原因比较简单,没有移除上次的内容引起,移除就OK了。
思路:
1、图片的存放:安全起见存放在库中为宜。最好不能被轻易下载。
2、使用的过程:显示一个密码框和“签名”按钮,输入密码并按下按钮后,如果正确,隐藏输入框和按钮,显示图片。
3、我的所有控件都是通过解析xml后动态生成的,签名应该是一个新类别无疑(类别4),它至少得对两个地方增加代码:(1)创建部分(得同时创建输入密码框、按钮、图片显示框)(2)写入部分,得解析出实际的值,存在xml中。
困难之一:图片的存入和取出
解决:网上的方法很多,改下就行了。我用的显示方法是,图片指向一个链接,该链接返回一个纯图片,因而这个图片不能被保存。
困难之二:动态生成的按钮的响应事件
解决:在外面写好按钮的处理方法,然后把委托作为参数传递给创建函数。如下
static public void CreateControl(string strXml,HtmlContainerControl contain,int top,int left,System.EventHandler SignHandle)
XmlPage.CreateControl(xmldoc,DIV2,40,0,new System.EventHandler(this.SignButton_Click)); //加载改分类的默认属性
困难之三:这个比较不起眼,但其实很麻烦。原因:有按钮就有多次PostBack->需要每次都动态创建原来的控件->每次动态创建控件,都会重写控件->
(1)对于可见的控件,如文本框,虽然理论上讲动态创建过程可能讲刚刚填入的内容抹掉,但实际上没有,Postback前填入的内容依然存在,所以不会有问题。
(2)对于密码输入框,Postback后内容就消失了,所以无法保存输入的内容。那么,签名的值就很难被保存住。试过很多的方法:用label不行,最后写入时无法取到label的值(被初始的加载语句抹了),用textbox,隐藏的Textbox直接就不会传送到客户端(并非我想象的是一个Hidden的Input)。
解决:在签名检验成功后,直接对Session中保存的xmldoc进行写,只写签名的值,其它的都不动。最后写入时,跳过签名的类型不管(因为已经写过了)
困难之四:不同的类型的xml切换时会出现控件重叠出现。
解决:原因比较简单,没有移除上次的内容引起,移除就OK了。
相关文章推荐
- .Net语言 APP开发平台——Smobiler学习日志:如何在手机上实现电子签名功能
- Android上自定义View实现电子签名功能
- base64+jfinal+canvas实现在线电子签名功能
- VBA脚本实现痕迹保留、手写签名、电子印章的插件
- CORS 跨域 实现思路及相关解决方案
- CORS 跨域 实现思路及相关解决方案
- CORS跨域实现思路及相关解决方案
- ios 音视频实现边播边缓存的思路和解决方案 (转)
- CORS 跨域 实现思路及相关解决方案
- HTML5 CANVAS实现电子签名完整demo
- base64+jfinal+canvas实现在线电子签名功能
- gitlab如何实现代码分支管理(只有思路没有解决方案)
- 第八篇 EBS实现企业日常业务运管模型的解决方案设计思路
- CORS 跨域 实现思路及相关解决方案
- 电子签名的c#实现方法
- Web打印解决方案之证件套打的实现思路
- 通过手机音频口,实现与单片机通讯,做电子签名成功n
- java swing实现手写板电子签名系统
- base64+jfinal+canvas实现在线电子签名功能
- 使用phantomjs实现highcharts等报表通过邮件发送(本文仅提供完整解决方案和实现思路,完全照搬不去整理代码无法马上得到效果)