您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

JSP页面访问用户验证

来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:32 点击:

jsp安全性问题,当别人知道某个jsp文件的网址后就可以跳过登陆页面直接访问该jsp文件了,这样无法禁止外部无权限用户的访问。本文讨论内容是通过权限验证的用户,才可以访问特定的页面。
JSP 页面验证,涉及到的知识有Session, 网页权限, 用户验证等。


session对象
session对象用来存储有关用户会话的所有信息,一个会话就是浏览器与服务器之间的一次通话,它包含浏览器与服务器之间的多次请求、响应过程。session是JSP内置对象,与浏览器一一对应,允许用户存储和提取会话状态的信息,信息保存在服务器端。

session信息获取
1) JSP
session.setAttribute("userinfo", USERNAME);  // session保存登录信息和用户名

2) Java(Servlet)
request.getSession().setAttribute("userinfo", USERNAME);    // session保存登录信息和用户名
其中,request为HttpServletRequest对象,在doPost(HttpServletRequest request, HttpServletResponse response){...}引用

session超时设置
1) web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
    ...
    <session-config>
        <session-timeout>30</session-timeout>           <!-- 单位为分钟,例如30分钟 -->
    </session-config>
</web-app>

2) Java
request.getSession().setMaxInactiveInterval(30*60);  // 设置session失效时间(timeout),单位为秒
注: setMaxInactiveInterval() 比 web.xml 优先级高,如果两者同时设置则采用 setMaxInactiveInterval()


JSP 网页权限
JSP 网页权限,有两种配置方式:
1) include 文件
如: 验证文件 logincheck.jsp
[html] 
<% 
    if(session.getAttribute("userinfo") == null) { 
%> 
        <script type="text/javascript" language="javascript"> 
            alert("您还没有登录,请登录..."); 
            window.document.location.href="userlogin.html"; 
        </script>  
<% 
    } 
%> 
在需要验证的jsp网页起始位置,包含 logincheck.jsp , 例如在需要验证的jsp网页 page111.jsp 中添加
 <%@ include file="logincheck.jsp" %>


2) filter 过滤
首先,在web.xml配置文件中设置过滤页
[html]
<filter> 
    <filter-name>LoginFilter</filter-name> 
    <filter-class>com.homer.LoginFilter</filter-class>   
</filter> 
 
<filter-mapping> 
    <filter-name>LoginFilter</filter-name> 
    <url-pattern>/page222.jsp</url-pattern> 

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • JSP与Servlet
  • 自己动手写MiniBBS系列(基本篇)之用户登录
  • JSP取当前日期
  • JDBC 入门(一)
  • 打开一个jsp页面默认查询所有数据,调用action
  • 使用JSP标签库验证用户的输入(2)完
  • 自定义JSP标签(tag)浅议
  • WIN98/2000下的jsp服务器
  • JSP内建对象(二)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1