开篇:润墨网以专业的文秘视角,为您筛选了一篇用户登录信息的设计及实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:数字指纹作为计算机安全领域广泛应用的一种散列函数,用以提供信息完整性的保护,采用数字指纹和XML等技术对用户登录系统进行设计及实现,并通过MD5技术解决实际应用中数据安全性的问题,使系统更为安全和灵活。
关键词:XML;MD5;SAX;JSP;用户登录模块
中图分类号:TB
文献标识码:A
doi:10.19311/ki.16723198.2017.01.097
0引言
目前大量的小型网站,由于资金和技术的限制,无法实现用户信息的安全存储,这些小型网站迫切需要一个轻便、安全的登录模块。XML是一种可扩展的标记语言,可以轻松的跨平台应用。用户数据通过MD5加密和BASE64编码,其中MD5具有很强的抗修改特性和不可逆转性,对原数据进行任何改动后所得到的MD5值都有本质的区别。这些方式使得数据对任何对象处于加密状态,使得密码破解成本增加。基于数字指纹和XML的用户登录模块保障用户数据的安全。
1模块设计
1.1设计思路
用户登录模块是用户进入系统的入口,传统意义上需要一个数据库存储用户信息在登陆时进行匹配验证,这就需要安装和支持一个分离的服务器进程,且在对数据进行操作时需要对数据进行转换再返回操作结果。基于XML文件存储的数据可以直接由应用服务器进行解析,在从解析结果中选择合适的内容发送到客户端,基于这种模式可以减少服务器额外的负担。同时MD5和BASE64混合加密在Web编程技术中的优势以及在B/S结构的身份认证系统中即使系统数据信息被泄露,用户的密码也不会被破解,更加有效的保证了用户的密码安全。
1.2系统模块
系统的主要模块如图1所示。
1.3功能模块
功能包括用户注册、用户登录、用户注销主要模块,同时在用户登录中有会员模式登录以及游客模式登录两个子模块如图2所示。
2模式设计
我们的系统采用MVC设计模式。这种设计模式把用户的输入、处理、输出按照model、view、controller进行分离。
视图(view)主要代表人机交互界面。它包含了数据的采集,以及用户的请求,它包含在视图上的业务处理流程。模型(model)业务流程状态的处理以及业务规则的指定。业务流程的具体执行过程对它来说是黑箱操作。模型接受视图请求的数据,并返回最终的处理结果。
控制器(controller)从用户接收数据,将视图和模型匹配在一起。共同完成用户的请求。
在我们的系统中采用Servlet作为控制器,JSP作为视图,模型由JAVABEAN实现。
3系统实现
3.1xml文档实现用户信息的存储
本系统的数据存储基础是xml文件,xml文档集相当于一个小型的数据库,具有与数据库相同的基本功能(CRUD),但是与数据库有具有不同之处,使用数据库的程序会严重依赖于某种特定的数据库管理系统(DBMS),造成在异构系统之间很难交换数据。xml具有良好的扩展性同时其存储的内容与显示效果分离,这十分有利于信息搜索和数据处理,便于系统维护和升级。
用户记录条目为用户ID(id)、用户名(username)、密码(password)。与之相对应的xml文件的描述为:
user id = "1" username="zhangsan" password = "123456" email=””/>
…….
3.2xml文n的解析方式
xml解析方式有两种,一种是采用DOM解析方式,另外一种是采用SAX解析方式。采用SAX解析方式,允许在读取文档的时候对文档进行处理而不必等到整个文档都装载完成时读取文档。采用这样的解析方式在读取容量大的xml文档时,可以减轻整个计算机的压力。
本系统的xml的组织结构如下:
3.3登录界面
本系统将采用jsp来呈现页面,同时我们也可以通过jsp来收集用户在页面提交的数据。
用户登录界面主要是由两个部分组成,一个部分是用户的输入界面,还有一个部分是用户方式的选择。
登陆界面设计如下:
用户:
密码:
3.4登录界面处理
在用户登录中有两种模式一种是普通登录另一种是以游客登录。普通用户的登录:在Servlet中利用request对象收集到来自登录界面的用户名和密码,对获取的密码采用MD5加密之后与XML匹配。然后调用控制部分的login方法,若login返回的user对象不为空,即用户登录成功,随后跳转到首页。反之登录失败。
登录处理流程如下:
在游客登录模式中会将Session的存在时间设置10分钟,到了时间之后网站会自动跳转到消息@示页面,告知用户如需在使用需要注册。
3.5注册页面处理
用户注册界面的主要功能是处理登录界面提交过来的用户注册请求。用户界面的业务逻辑分为两部分,第一步是对用户提交过来的数据进行校验。第二步是对校验成功的数据通过调用service层来实现向xml文件注入。基于软件工程的理念:没有经过校验的数据是不能使用的。由此可见数据校验的重要性。
下面展示的是邮箱的校验过程。
在用户数据校验成功的前提下才调用service的register方法将用户注册到xml中,但是在注册用户之前还会依据md5加密算法将用户的密码进行加密计算后根据BASE64进行重新编码同时还会利用到UUID工具类生成一个全球唯一的ID号。当密码采用了加密后即使是管理员他所能查看到的密码依然只是一串字符。这样可以增强对用户隐私的保护。
MessageDigest md = MessageDigest.getInstance("md5");
byte md5 = md.digest(message.getBytes());
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(md5);
3.6用户注销处理
在用户点击了用户注销界面后将会跳转到logoutServlet中,在这个Servlet中将会调用Session域来移出其中的user属性,这就代表着用户注销了,在用户注销之后将会跳转到消息显示界面告知用户注销成功,同时只会在消息显示界面停留3s之后将会转到首页。
HttpSession session = request.getSession(false);
if (session!=null){
session.removeAttribute("user");
request.setAttribute("message","注销成功,浏览器将在3s后跳转");}
4结语
本系统在开发登录模块的过程中,采用MVC设计模式,将问题划分为视图、模型、控制三部分。采用数字指纹对数据进行加密同时基于XML存储数据信息,使得系统轻便、简介、安全,对小型WEB应用系统具有一定的参考价值。
参考文献
[1]吕述望,王彦,刘振华.数字指纹综述[J].中国科学研究生院学报,2004,(3) :291293.
[2]张峰,穆晓敏,杨守义.数字指纹技术的研究进展[J].电讯技术,2005,(5):68.
[3]和璇.MVC模式在JAVA WEB中的应用[J].计算机光盘软件与技术,2016,(16):310311.
[4]田丰,邹国忠.Java MVC模式在管理信息系统开发中的应用[J].中小企业管理与科技,2012,(9):269270 .
[5]周军锋,孟小峰.XML关键字查询处理研究[J].计算机学报,2012,(12):24632473.