从零开始搭建自己的网站六:拦截器添加
2018-02-01 17:06
531 查看
因为管理台是需要账号密码才能登录的,所以我们就增加相应的拦截器,防止用户直接通过url直接进入管理台页面。
1、首先对上篇文章中的用户登录验证方法进行修改。"redirect:/manager/index" 意思是重定向到 /manager/index。
2、在Application中加入拦截器配置:登录拦截器和全局拦截器。登录拦截器只对/manager/下的url地址拦截。全局拦截器拦截全局的页面。
3、编写拦截器。登录拦截器验证的是否session中存在user,不存在就跳转到登录页面。全局拦截器是检查url是否存在,不存在就重定向到404页面。
4、配置完之后,先不登录,直接浏览器进入 http://localhost:8088/manager/index,页面就会跳转到登录页面。拦截器配置完成
欢迎转载,转载请注明出处 http://www.dingyinwu.com/article/46.html
如果文章中有任何问题或者可以改进的地方,请大家多提提意见,我会非常感激。
1、首先对上篇文章中的用户登录验证方法进行修改。"redirect:/manager/index" 意思是重定向到 /manager/index。
/** * 用户登录验证 */ @RequestMapping("/loginUser") public String loginUser(HttpServletRequest request, String username, String password) { if (StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password)) { boolean login = userService.login(username, password); if (login) { request.getSession().setAttribute("user", username); return "redirect:/manager/index"; } } return "manager/login"; }
2、在Application中加入拦截器配置:登录拦截器和全局拦截器。登录拦截器只对/manager/下的url地址拦截。全局拦截器拦截全局的页面。
@Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/manager/*"); registry.addInterceptor(new MainInterceptor()).addPathPatterns("/*"); super.addInterceptors(registry); }
3、编写拦截器。登录拦截器验证的是否session中存在user,不存在就跳转到登录页面。全局拦截器是检查url是否存在,不存在就重定向到404页面。
public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String user = (String) request.getSession().getAttribute("user"); if (StringUtils.isNotBlank(user)) { return true; } else { response.sendRedirect("/login/index"); return false; } } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }
public class MainInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { int status = response.getStatus(); if (status == 404) { response.sendRedirect("/404"); return false; } else { return true; } } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }
4、配置完之后,先不登录,直接浏览器进入 http://localhost:8088/manager/index,页面就会跳转到登录页面。拦截器配置完成
欢迎转载,转载请注明出处 http://www.dingyinwu.com/article/46.html
如果文章中有任何问题或者可以改进的地方,请大家多提提意见,我会非常感激。
相关文章推荐
- 从零开始搭建自己的网站七:日志系统Logback添加
- 从零开始搭建自己的网站八:文本编辑器Ueditor添加
- 从零开始搭建自己的网站十:jquery ias流式分页插件添加
- 从零开始搭建自己的网站十三:Linux下安装jdk
- 从零开始搭建自己的网站五:登录功能编写
- 从零开始搭建自己的网站三:数据库设计
- 从零开始搭建自己的网站十五:打包Springboot上传Linux并运行
- 从零开始搭建自己的网站十二:点击量设计
- 从零开始搭建自己的网站四:博客网站模板下载
- 从零开始搭建自己的网站一:整体步骤
- 从零开始搭建自己的网站十六:通过Nginx加快网站响应速度
- github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url,添加RSS)
- 从零开始搭建自己的网站十八:redis管理点击量并定时存入数据库
- 从零开始搭建自己的VueJS2.0+ElementUI单页面网站(一、环境搭建)
- 从零开始搭建自己的网站十一:ehcache缓存配置
- 从零开始搭建自己的VueJS2.0+ElementUI单页面网站(二、编写导航页)
- 从零开始搭建个人网站(3) Linux新建用户和添加到sudo组
- 从零开始用 Flask 搭建一个网站(四)
- 网站搭建从零开始(四) 服务器的配置
- 给自己的网站添加CSS样式