- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
在基于JSP页面系统设计开发中,经常有一批页面需要对用户的身份进行验证,只有合法的用户才可以访问这些页面。显然可以在每个页面中添加身份验证,但这样做会给编程造成很大的麻烦,而且增加多余的代码。那么,如何解决JSP页面用户身份验证呢?
二、JSP页面中用户身份验证分析
在有多个用户使用的JSP系统中,为了保障系统的隐秘性安全性,就需要对登录系统的用户进行身份验证以保证用户身份的合法性。一个用户首次登录系统后会在session对象中留下它的标识[1],就可以利用这个标识来完成各个JSP页面的用户身份验证。为了避免每个页面都进行身份验证而出现的麻烦,这里将通过Servlet过滤器对JSP页面统一进行身份验证。
三、用户身份验证的设计思路和技术要点
1、设计思路
Servlet过滤器验证用户是围绕session对象进行的。首先是实现用户登录的功能,在用户登录成功后产生一个session标识;然后创建Servlet过滤器,判断标识值是否正确,如果正确则通过验证,否则将给出提示信息并跳转到用户登录页面。
2、技术要点
使用Servlet过滤器实现JSP页面中用户身份验证,首先必须实现Filter接口,且重写doFilter()方法,由doFilter()方法去处理过滤业务;其次,在web.xml文件中配置Servlet过滤器,指定过滤器的名称、过滤器包所在类的名称及过滤器的映射范围等[2]。
四、JSP页面中用户身份验证的实现
1、用户身份合法性确认
为了能够使用Servlet过滤器实现用户对JSP页面访问的合法性验证,首先需要根据用户登录号和密码等与数据库中的信息相比较,若能匹配成功,则是用户登录成功,就用session对象存储该用户的标识;然后再由Servlet过滤器实现对用户访问的各个页面的过滤。存储用户登录成功的session标识的核心代码为:session.setAttribute(user,
用户登录号)。
2、Servlet过滤器的实现
用Servlet过滤器实现用户身份验证的关键代码如下:
packagehzu.util.filters;
publicclassUserFilterextendsHttpServletimplementsFilter{privateFilterConfigfilterConfig;
publicvoidinit(FilterConfigfilterConfig)throwsServletException{this.filterConfig=filterConfig;
}[NextPage]
publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsServletException,IOException{
HttpSessionsession=((HttpServletRequest)
request).getSession();if(session.getAttribute(“user”)==null){PrintWriterout=response.getWriter();
out.print(“scriptlanguage=javascriptalert(?您还没登录,请登录!!?);javascript:location=?系
统登录的主页面;/script);out.flush();
out.close();
}
else{
chain.doFilter(request,response);
}
}
}
3、在web.xml中配置Servlet过滤器
在编写完Servlet过滤器后,要在web.xml文件中配置过滤器。也就是通过filter/filter标签指定Servlet过滤器的名称、过滤器包所在类的名称,通过filter-mapping/filter-mapping标签配置Servlet过滤器的映射路径[3]。其关键代码如下:
filter
filter-nameUserLoginFilter/filter-name
filter-classhzu.util.filters.UserFilter/filter-class
/filter
filter-mapping
filter-nameUserLoginFilter/filter-name
url-pattern[/目录名]/*/url-pattern
dispatcherrequest/disp
您可能关注的文档
最近下载
- 2023年05月[新疆]2023年塔城昆仑村镇银行综合柜员招考上岸笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 秘籍01考前抢分84个核心考点-备战2023年中考生物抢分秘籍(全国通用).docx
- 2023届河北省保定市高考二模英语参考答案 .pdf VIP
- 安川DX200 使用说明书.pdf
- 2023届河北省保定市高考二模地理试题(含答案).pdf VIP
- 集中空调微生物检测技术及质量控制详解.ppt
- (消毒供应中心)降低复用器械预处理不合格率预处理PDCA.pptx
- 《日本文学赏析》教学大纲.docx
- 大连圣亚旅游控股股份有限公司_风险水平分析报告_企评家.pdf
- “红旗杯”竞赛总题库-5班组长团队管理能力考试题库(附答案).pdf VIP
文档评论(0)