本文實例講述了JSP學(xué)習(xí)之Java Web中的安全控制。分享給大家供大家參考。具體如下:
一、目標(biāo):
① 掌握登錄之后的一般處理過程;
② 能夠為每個頁面添加安全控制;
③ 能夠共享驗證代碼;
④ 使用過濾器對權(quán)限進行驗證;
⑤ 能夠?qū)ξ募木植績?nèi)容進行驗證;
⑥ 掌握安全驗證碼的基本實現(xiàn)方式;
⑦ 通過異常處理增強安全性。
二、主要內(nèi)容:
① 通過修改前面的登錄功能,分別對管理員和普通用戶的登錄進行處理;
② 為管理員才能訪問的頁面添加控制;
③ 共享各個頁面中的控制代碼,使用專門的文件,然后在需要的時候調(diào)用;
④ 使用過濾器降低重復(fù)驗證代碼;
⑤ 通過標(biāo)準(zhǔn)標(biāo)簽庫完成頁面局部信息的安全控制;
⑥ 介紹安全驗證碼的基本實現(xiàn)方式;
1、完善登錄功能
正常情況下,管理員登錄成功之后跳轉(zhuǎn)到管理員默認(rèn)工作界面;普通用戶登錄之后跳轉(zhuǎn)到普通用戶默認(rèn)工作界面;用戶登錄失敗后跳轉(zhuǎn)到登錄界面重新登錄。
為了完成這個功能,需要編寫管理員界面和普通用戶界面。
管理員界面對應(yīng)的文件為manager.jsp,代碼如下:
manager.jsp代碼:
普通用戶界面對應(yīng)的文件為commonuser.jsp,代碼如下:
commonuser.jsp代碼:
修改登錄的Servlet,修改后的代碼如下:
LoginProcess.java代碼:
- package servlet;
- import javabean.User;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.servlet.RequestDispatcher;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- public class LoginProcess extends HttpServlet {
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doPost(request,response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- // 獲取信息
- String username = request.getParameter("username");
- String userpass = request.getParameter("userpass");
- // 調(diào)用JavaBean
- User user = new User();
- user = user.findUserByName(username);
- String forward;
- if(user==null){
- forward="failure.jsp";
- }else if(user.getUserpass().equals(userpass)){
- if(user.getUsertype().equals("1")){
- forward="manager.jsp";
- }
- else{
- forward="commonuser.jsp";
- }
- }else{
- forward="failure.jsp";
- }
- RequestDispatcher rd = request.getRequestDispatcher(forward);
- rd.forward(request,response);
- }
- }
|
新聞熱點
疑難解答