案例开发 - 日程管理 - 第三期
我们在日程管理第二期中,完成了一些功能,但有一个点忽略了。
在项目中,用户在未登录的状态下,不允许访问 showSchedule.html 和 SysScheduleController 相关增删改的操作,需要重定向到 login.html 页面中,登录成功后才可以自由访问。
图解:
LoginFilter.java:
@WebFilter(urlPatterns = {"/showSchedule.html", "/schedule/*"})
public class LoginFilter implements Filter {@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {// 参数父转子HttpServletRequest request = (HttpServletRequest)servletRequest;HttpServletResponse response = (HttpServletResponse)servletResponse;// 获得 session 对象HttpSession session = request.getSession();// 从 session 中获得登录的用户对象SysUser sysUser = (SysUser)session.getAttribute("sysUser");// 判断对象是否为空if (null == sysUser) {// 没登陆 跳转到登录页面response.sendRedirect("/login.html");} else {// 已经登录过 放行filterChain.doFilter(request, response);}}
}
完!