2018年1月9日10:30:30
简单的记录一下。
1.自定义一个MyInterceptor 实现HandlerInterceptor
package com.hll.hlladmin.config;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import com.hll.hlladmin.model.User;
/** * @author hll * @date 2018年1月6日 上午11:27:48 */
@Component
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// TODO Auto-generated method stub
User user = (User) request.getSession().getAttribute("user");
if (user == null) {
response.sendRedirect(request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath() + "/hlladmin/login");
return false;
}
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// TODO Auto-generated method stub
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// TODO Auto-generated method stub
}
}
2.创建MyWebMvcConfigurerAdapter
package com.hll.hlladmin.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/** * @author hll * @date 2018年1月6日 上午11:23:37 */
@Configuration
public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {
/** * 配置静态资源 */
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
super.addResourceHandlers(registry);
}
public void addInterceptors(InterceptorRegistry registry) {
//addPathPatterns 用于添加拦截规则
//excludePathPatterns 用于排除拦截
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**")
.excludePathPatterns("/hlladmin/login") //登录页
.excludePathPatterns("/hlladmin/user/sendEmail") //发送邮箱
.excludePathPatterns("/hlladmin/user/register") //用户注册
.excludePathPatterns("/hlladmin/user/login"); //用户登录
super.addInterceptors(registry);
}
}