• JSP页面设置登录访问权限


    如何限制页面必须在满足某些条件后才能访问?

    比如下面这个例子:

     这是一个简单的登录界面,输入用户名和密码后,经过后台的验证,进入到相应的主界面

    按照常理来说是这样的,但是我们发现,当我们直接访问主界面main.jsp时,却也可以直接进入到主界面,比如:(注意URL)

    这就对系统造成了很大的安全隐患 
    怎么限制主界面必须在登录之后才能访问呢?其实也很简单

    首先,我们在后台验证用户正确登录之后,跳转到相应页面之前,加入下面这行代码

    if (userService.valiUser(user)) {

    session.setAttribute("user", user);

    当用户验证成功,使用setAttribute方法讲用户名以实例user存放在会话之中。

    然后我们新建一个islogin.jsp页面,这个页面不用做显示,专门用于验证访问权限,如下:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"

    pageEncoding="ISO-8859-1"%>

    <%@ page import = "com.jkxy.service.userService" %>

    <%@ page import = "com.jkxy.model.userTable" %>

    <%

      userTable user = (userTable)session.getAttribute("user"); if(user ==null) {

    %>

    <jsp:forward page="index.jsp"></jsp:forward>

    <%

      }

    %>

    从会话中取出user实例,如果user实例存在,说明该页面之前已经验证过登录用户。如果不存在,那么就直接跳转到登录界面。

    然后你在你想要添加登录访问权限的页面jsp代码中相应位置插入代码

    <jsp:include page="islogin.jsp"></jsp:include>

    这样的话,当我们直接使用url访问main.jsp界面就不好使了

    还需要注意的是,在退出时需要清除用户痕迹,不然session中会一直存储user实例,所以在退出时还需要有以下动作:

    session.removeAttribute("user");

  • 相关阅读:
    EasyUI Datagrid换页不清出勾选方法
    【HDOJ】4902 Nice boat
    【HDOJ】1688 Sightseeing
    【HDOJ】3584 Cube
    【POJ】2155 Matrix
    【HDOJ】4109 Instrction Arrangement
    【HDOJ】3592 World Exhibition
    【POJ】2117 Electricity
    【HDOJ】4612 Warm up
    【HDOJ】2888 Check Corners
  • 原文地址:https://www.cnblogs.com/tanzq/p/8068393.html
Copyright © 2020-2023  润新知