1.用户登录成功后把用户信息放入session

@Controller
public class LoginController {

    @RequestMapping("/user/login")
    public String login(@RequestParam("username") String username,
                        @RequestParam("password") String password, Model model, HttpSession session){

        //具体业务
        if ("admin".equals(username) &&"123456".equals(password))
        {
            session.setAttribute("loginUser",username);
            return "redirect:/main.html";
        }
        else{
            //告诉用户登录失败!
            model.addAttribute("msg","用户名或者密码错误!!");
            return "index";
        }

    }
}

2.自定义一个拦截器LoginHandlerInterceptor

public class LoginHandlerInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        Object loginUser = request.getSession().getAttribute("loginUser");
        if (loginUser==null)
        {
            request.setAttribute("msg","没有登录,请登录!!!");
            request.getRequestDispatcher("/index.html").forward(request,response);
            return false;

        }
        else
            return true;

    }
}

3.注册进spring容器

@Configuration
//@EnableWebMvc全面接管springmvc配置类
public class MyMvcConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("index");
        registry.addViewController("/index.html").setViewName("index");
        registry.addViewController("/main.html").setViewName("dashboard");

    }
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocalResolver();
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginHandlerInterceptor()).
                addPathPatterns("/**").
                excludePathPatterns("/index.html","/","/user/login","/css/**","/js/*","/img/**");
    }


}

 

posted on 2022-01-07 16:32  upupup-999  阅读(64)  评论(0)    收藏  举报