用户信息管理系统案例(六)
前言
-
在之前的用户信息管理系统案例(五)中,我们已经解决了第五个问题:普通删除用户与批量删除用户
-
现在我们将对其功能进行完善
(6) 对用户权限进行控制与敏感词汇处理
1、创建 LoginFilter 类,控制用户权限(只有登录了的管理员才可以访问其他资源)
package cn.actadd.web.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
/**
* @ClassName LoginFilter
* @Description 登录验证的过滤器
* @Author Actadd
* @Date 16:58 2019/12/3
* @Version 1.0
*/
@WebFilter("/*")
public class LoginFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
//1.强制转换
HttpServletRequest request = (HttpServletRequest) req;
//2.获取资源请求路径
String uri = request.getRequestURI();
//3.判断是否包含登录相关资源路径,要注意排除掉 css/js/图片/验证码等资源
if(uri.contains("/login.jsp") || uri.contains("/loginServlet") || uri.contains("/checkCodeServlet")|| uri.contains("/css/") || uri.contains("/js/") || uri.contains("/fonts/")) {
//包含,用户就是想登录。放行
chain.doFilter(req, resp);
}else{
//不包含,需要验证用户是否登录
//4.从获取session中获取user
Object us