首页 > 编程 > JSP > 正文

JSP学习之Java Web中的安全控制实例详解

2024-09-05 00:22:19
字体:
来源:转载
供稿:网友
这篇文章主要介绍了JSP学习之Java Web中的安全控制,较为详细的分析了JSP安全控制的常见技巧,非常具有实用价值,需要的朋友可以参考下
 

本文实例讲述了JSP学习之Java Web中的安全控制。分享给大家供大家参考。具体如下:

一、目标:

① 掌握登录之后的一般处理过程;
② 能够为每个页面添加安全控制;
③ 能够共享验证代码;
④ 使用过滤器对权限进行验证;
⑤ 能够对文件的局部内容进行验证;
⑥ 掌握安全验证码的基本实现方式;
⑦ 通过异常处理增强安全性。

二、主要内容:

① 通过修改前面的登录功能,分别对管理员和普通用户的登录进行处理;
② 为管理员才能访问的页面添加控制;
③ 共享各个页面中的控制代码,使用专门的文件,然后在需要的时候调用;
④ 使用过滤器降低重复验证代码;
⑤ 通过标准标签库完成页面局部信息的安全控制;
⑥ 介绍安全验证码的基本实现方式;

1、完善登录功能

正常情况下,管理员登录成功之后跳转到管理员默认工作界面;普通用户登录之后跳转到普通用户默认工作界面;用户登录失败后跳转到登录界面重新登录。
为了完成这个功能,需要编写管理员界面和普通用户界面。
管理员界面对应的文件为manager.jsp,代码如下:

manager.jsp代码:

复制代码代码如下:
<%@ page contentType="text/html;charset=gb2312"%>

管理员操作界面

 

普通用户界面对应的文件为commonuser.jsp,代码如下:

commonuser.jsp代码:

复制代码代码如下:
<%@ page contentType="text/html;charset=gb2312"%>

普通用户界面

 

修改登录的Servlet,修改后的代码如下:

LoginProcess.java代码:
 

  1. package servlet; 
  2. import javabean.User; 
  3. import java.io.IOException; 
  4. import java.io.PrintWriter; 
  5. import javax.servlet.RequestDispatcher; 
  6. import javax.servlet.ServletException; 
  7. import javax.servlet.http.HttpServlet; 
  8. import javax.servlet.http.HttpServletRequest; 
  9. import javax.servlet.http.HttpServletResponse; 
  10. import javax.servlet.http.HttpSession; 
  11. public class LoginProcess extends HttpServlet { 
  12.     public void doGet(HttpServletRequest request, HttpServletResponse response) 
  13.            throws ServletException, IOException { 
  14.        doPost(request,response); 
  15.     } 
  16.     public void doPost(HttpServletRequest request, HttpServletResponse response) 
  17.            throws ServletException, IOException { 
  18.        // 获取信息 
  19.        String username = request.getParameter("username"); 
  20.        String userpass = request.getParameter("userpass"); 
  21.        // 调用JavaBean 
  22.        User user = new User(); 
  23.        user = user.findUserByName(username); 
  24.        String forward; 
  25.        if(user==null){ 
  26.            forward="failure.jsp"
  27.        }else if(user.getUserpass().equals(userpass)){ 
  28.            if(user.getUsertype().equals("1")){ 
  29.               forward="manager.jsp"
  30.            } 
  31.            else
  32.               forward="commonuser.jsp"
  33.            } 
  34.        }else
  35.            forward="failure.jsp"
  36.        } 
  37.        RequestDispatcher rd = request.getRequestDispatcher(forward); 
  38.        rd.forward(request,response); 
  39.     } 
?
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表