码迷,mamicode.com
首页 > 其他好文 > 详细

拦截器登录验证

时间:2020-01-26 22:14:01      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:input   转发   intercept   href   control   web   pat   patch   let   

拦截器登录验证

  1. 配置

    <mvc:interceptor>
        <mvc:mapping path="/user/**"/>
        <bean class="cn.pinked.config.LoginInterceptor"/>
    </mvc:interceptor>
  2. 拦截器

    public class LoginInterceptor implements HandlerInterceptor {
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            HttpSession session = request.getSession();
            //已登录,放行
            if (session.getAttribute("userLoginInfo") != null) {
                return true;
            }
            //在登陆页面,放行
            if (request.getRequestURI().contains("login")) {
                return true;
            }
            //未登录,转发到登录页面
            request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);
            return false;
        }
    }
  3. 控制器

    @Controller
    @RequestMapping("/user")
    public class LoginController {
        //主页
        @RequestMapping("/main")
        public String main() {
            return "main";
        }
        //跳转到登陆页面
        @RequestMapping("/login")
        public String login() {
            return "login";
        }
        //登陆后回到主页
        @RequestMapping("/userlogin")
        public String login(HttpSession session, String username, String pwd, Model model) {
            session.setAttribute("userLoginInfo", username);
            model.addAttribute("username", username);
            return "main";
        }
        //注销后回到登陆页面
        @RequestMapping("/logout")
        public String logout(HttpSession session){
            session.removeAttribute("userLoginInfo");
            return "login";
        }
    }
  4. 主页

    <h1>首页</h1>
    <span>${username}已登录</span>
    <p>
        <a href="${pageContext.request.contextPath}/user/logout">注销</a>
    </p>
  5. 登陆页面

    <h1>登陆页面</h1>
    <form action="${pageContext.request.contextPath}/user/userlogin" method="post">
        用户名:<input type="text" name="username">
        密码:<input type="password" name="pwd">
        <input type="submit" value="登录">
    </form>

拦截器登录验证

标签:input   转发   intercept   href   control   web   pat   patch   let   

原文地址:https://www.cnblogs.com/pinked/p/12234847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!