




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SSH与ExtJS的Web系统登录框架设计摘要:用户登录模块是Web管理系统中非常重要的部分,不仅关系到系统的安全,同时涉及系统使用的有效性。结合J2EE中的SSH框架和ExtJs,就口令式的Web登录框架进行设计,完成了用户登录,Session超时检查,权限控制等功能。关键词:J2EE;Web登录系统;ExtJs1 引言近年来,Web程序逐渐成为主流,JSP/Servlet能很好的完成这项任务,但并不适合开发大型的Web程序。因此,各种用于辅助开发的框架大量涌现,目前最流行的是Struts+Spring+Hibernate。而ExtJS是一种具有CS风格的Web用户界面组件,主要用于创建前端用户界面,是一个与后台技术无关的前端AJAX框架。一个以SSH为框架,用ExtJS开发界面的管理系统必不可少的需要登陆模块来实现权限使用功能。2 框架分析作为一个Web系统,为了限制无关人员的使用和破坏,对系统采取口令的方式进行授权使用,是现今最重要的一种方式。因而登陆系统的设计关系到系统的安全性。本论文就口令式的Web登陆框架进行设计,涉及到登陆,Session超时检查,权限控制。一个好的登陆框架需要对用户的非法进入起到很好的阻止作用,并能完美的管理正常用户所进行的各种事务,应对出现的各种异常情况。最常见的几种现象有一个用户多处登陆;用户登陆后长时间没有操作而使用户记录一直处于在线状态,或者,由于网络或用户的误操作,没有给系统一个正确的下线指令,而导致用户已离开操作界面而记录还保持在线状态。这种状况与一用户多处登陆时获得的状态极为相似。另外对不同权限的用户,给其不同权限的使用功能。本论文讨论的框架将成功的解决这些问题。3 框架设计项目中集成Struts、Spring和Hibernate。ExtJs将与框架后台通过Action传递用户数据(Action是Struts的核心内容)。利用Spring的依赖注入容器的核心Bean以及Hibernate与数据库的交互完成对用户数据的查询比较和修改。用户数据存放在数据库中USER表中,表结构如下:表1:用户信息表(USER)字段类型长度约定说明IDINT8PK记录ID唯一标志一条记录USERNAMEVARCHAR50NOT NULL用户名PASSWORDVARCHAR50NOT NULL密码SESSIONIDVARCHAR50用户登陆时的SESSION IDSTATEBOOL0,1,2用户状态,0不在线1在线2锁定ERRORBOOL0,1,2连续错误次数TYPEINT8FK用户类型3.1 账户登陆3.1.1 三次输入错误锁定为防止由于恶意的密码暴力破解现象,对连续的、多于三次的密码错误尝试账号进行锁定处理,须经过超级管理员解锁后才可重新使用。ERROR属性为密码错误次数,密码账户正确一次置为0,错误一次加1,三次后STATE属性置改为2(锁定)。3.1.2 账户在线提示判断对账户已经上线同时又使用该账户在其他机器登陆的情况采取下面的策略:如果账户在线(STATE为1),先提示账户已经在线的信息,给出选择是挤下还是取消登陆,若是挤下,被挤机器将无法继续前后台的数据交互。挤下措施后记录的SESSIONID改为登陆机器新生成的SESSIONID,被挤下机器再次使用时将会发现SESSIONID不一致而无法继续进一步处理,具体SESSIONID对比操作如3.2 中的过滤器使用。3.1.3 处理系统非法退出用户在使用管理系统时,经常不是通过点击退出系统按钮来执行退出操作。非法的退出包括网络断线、系统关机、直接关闭浏览器等情况,这些都使系统没有给用户记录一个退出系统的操作机会。使得账户一直处于在线状态而影响下次登陆。针对这种情况,必须给系统一个定时清理还原用户状态的定时器来执行这些操作。本文中的定时器通过Servlet随系统启动而启动来实现。Servlet内具体代码如下:Timer timer = new Timer();timer.scheduleAtFixedRate(new TimerTask()public void run() /根据对STATE为1的用户进行清理 /清理依据:SESSION是否过期,0,10*60*1000);/600000ms 为试探时间间隔3.2 用户权限根据不同用户类型,即USER表中TYPE的不同,给前台界面传给后台的Action做过滤处理。这种处理需要用到过滤器(Filter)。过滤器的配置如下:在Web.xml中加入如下代码: roleMngFm.init.RoleMngFilter roleMngFilter*.action权限判断的前提是在数据库中存在不同级别用户可以使用的Action的规则数据。因此,需要一张表关联级别与不同的Action。过滤器中除了对不同Action名的判断之外,还进行用户登陆时的SESSION ID对比与SESSION是否过期判断。1、SESSION ID对比通过对用户记录中SESSION ID与当前ID的比较。2、SESSION 过期判断。3.3 超时管理Session时长控制通过在过滤器内部运用对用户记录所在的SESSIONID获取属性值,是否抛出异常来判断。对已经过期的登陆用户,复原用户记录状态,调转Action的传输方向,直接返回页面。过期判断代码如下tryuser=(UserBase)xwkLoginInfo.getSession().getAttribute(loginInfo);catch(Exception e) /异常捕获执行复原过程,返回失效参数sessionStatusAction是一种前台传输给后台,后台处理后反馈给前台传入入口,为避免在每个Action入口都编写失效检验。特在每个Action传回第一时间设置一个关卡,进行失效状态检验,具体代码如下:!-var frontEventTime=null;var beforeEvent=Ext.Ajax; /Request完成事件beforeEvent.on(requestcomplete,checkSessionStatus,this);function checkSessionStatus(conn,response, options)var data = response.responseText+a;var status=1;for(var i=0;idata.length-13;i+)/寻找Session状态参数if(data.slice(i,i+13)=sessionStatus)status=data.slice(i+15,i+16);break;if(status=0)Ext.Msg.show(title:提示,msg:此次会话已经超时,请重新登录!,buttons: yes:是,fn:function(e)window.location.replace(login.jsp);); 4 总结用户登陆模块在Web管理系统中是个非常常见且重要的部分,不仅涉及的系统的安全,还涉及到系统使用的有效性。本论文对Web系统的登陆在必要的几个方面,结合SSH和ExtJs,完成用户登陆,权限控制与超时管理三个方面的功能。参考文献1 萨师煊,王珊. 数据库系统概论第四版M.高等教育出版社.2006.5-12 陈松乔,王国军,任胜兵.现代软件工程M.清华大学出版社.2004.6-13 耿祥义,张跃平. Java2实用教程第三版M.清华大学出版社.2006.84 徐会生,何启伟,康爱媛.深入浅出ExtJSM.人民邮电出版社.2009.25 唐友国,湛洪波.JSP网站开发详解(JSP + Servlet + Tomcat + Eclipse + SSH)M.电子工业出版社.2008.10-16 思志学.程序天下J2EE整合详解与典型案例一本书搞定M.电子工业出版社.2008.1-17 杨少波.J2EE项目实训Hiber
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学知识深度解读:医疗公卫面试常见问题及答案解析
- 湖泊管理培训师面试题目及答案
- 航空行业面试实战攻略:川航去年面试题目及答案解析
- 2025年医疗器械考试模拟题(含答案)
- 2025年过敏性休克以及输液反应试题(附答案)
- 产科危急重症早期识别中国专家共识(2025年版)
- 2025年传染病及突发公共卫生事件培训前测试题(附答案)
- 肿瘤专科护士年度工作计划
- 中学钢琴教材系统讲解
- 医院门诊工作制度
- 中国吸管机行业市场现状分析及竞争格局与投资发展研究报告2024-2034版
- (高清版)JTGT 3671-2021 公路交通安全设施施工技术规范
- 场所安全控制程序范文(三篇)
- 脑梗死康复诊疗规范
- 刑事特情工作细则
- 利用人工智能技术提升医院临床决策
- 《口腔科学》课件
- 整车物流安全培训教材
- 公章刻制业内部管理制度
- 广东省省级政务信息化服务预算编制标准(运维服务分册)
- 交叉作业安全协议
评论
0/150
提交评论