身份认证狗,在B/S结构的《威博文件管理系统》中的使用

最近根据客户的需要,对《威博文件管理系统》进行定制,即使用身份认证狗,在B/S结构的系统中的进行身份认证。

 

 

主要要求如下:

1、登陆系统时,把身份认证狗插在USB上,登陆时,使用双重身份认证,即验证用户名和密码,又验证身份狗号。

2、登陆进系统后,在使用系统的过程中用户不得拔下加密狗,一旦拔下,系统将摧毁当前会话,强制退出系统。

 

 

下面就是我的具体实现概述

 

 

首先构造一个登陆页面,也就是登陆视图(按照JSF的术语)

 

 

 

 

其中我们要注意ActiveX控件代码段,这段代码为加密狗,自身要求的客户端ActiveX控件,主要用来进行客户端相关计算,该控件用来和身份认证狗(加密狗)进行通信。

 

 

 

表单数据携带代码段,

 

 

 

 

 

客户端,当点击提交按钮时,执行相应的javascript代码,设值相关JSF表单各字段的值,代码段

 

 

 

 

客户端验证原理是,当点击客户端提交按钮时,身份认证狗利用客户端ActiveX控件,生成客户端MD5摘要,获取加密狗硬件ID,并由javascript代码,把相应的值置入JSF表单的隐藏域中,随其它信息发送到服务器端。

 

 

 

服务器端收到相关信息后,进行服务器端摘要计算与验证,具体代码如下:

 

 

 

服务器端MD5摘要计算

 

 

 

 

 

服务器端身份认证过程是,收到客户端发来的MD5摘要,用户名、密码、身份认证狗硬件ID后,获取事先存储在数据表中的对应信息,在服务器端计算MD5摘要,如果能够匹配,则通过身份认证,用户可以正常使用系统。

 

 

 

 

登陆进,系统后,要求用户不得拔下加密狗,一旦拔下,系统将摧毁当前会话,强制退出系统。这个就是在每个JSF视图文件的插入一个include文件,当视图渲染到客户端浏览器时,都检测一下,当前客户端中,是否插有身份认证狗,如果没有,则转到错误视图,强制销毁会话,具体代码如下:

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值