目录
完整项目在这里实时更新<( ̄︶ ̄)↗[GO!]:GitHub - GoodbyeFirefly/ExpressManagementSystem: 用GitHub一步步记录编码过程,实现一个相对完整的快递管理项目https://github.com/GoodbyeFirefly/ExpressManagementSystem
简单点说,就是添加登录限制。通过session记录登录的用户信息,没有登录时无法正常访问其他页面。
1,修改AdminController
验证登录成功后,将用户名存入session
2,修改UserUtil工具类
在工具类中的getUsername方法中,添加获取session中用户信息的代码
package com.xxy.util;
import javax.servlet.http.HttpSession;
public class UserUtil {
public static String getUsername(HttpSession session) {
return (String) session.getAttribute("adminUsername");
}
public static String getUserphone(HttpSession session) {
// 还未存储录入人的信息,这里先暂时代替一下
return "18888888888";
}
}
3,在Filter下编写UserControlFilter
导入Filter依赖时,注意不要导错了:是javax.servlet.Filter
package com.xxy.filter;
import com.xxy.util.UserUtil;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
// 限制访问的资源
@WebFilter({"/admin/index.html", "/admin/views/*", "/express/*"})
public class AccessControlFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) servletRequest;
HttpServletResponse resp = (HttpServletResponse) servletResponse;
String username = UserUtil.getUsername(req.getSession());
if (username != null) {
filterChain.doFilter(servletRequest, servletResponse);
} else {
resp.sendError(404, "权限不足");
}
}
@Override
public void destroy() {
}
}
章节汇总在这里(づ ̄3 ̄)づ╭❤~@&再见萤火虫&【07-项目训练】
对学习Java感兴趣的同学欢迎加入QQ学习交流群:1126298731
有问题欢迎提问,大家一起在学习Java的路上打怪升级!(o゜▽゜)o☆[BINGO!]