壹.拦截器
实现HandlerInterceptor接口,重写preHandle方法
package com.lhh.pan.interceptor;
import com.lhh.pan.model.UserAuthenDTO;
import com.sun.deploy.net.HttpResponse;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashSet;
import java.util.Set;
public class SimpleInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
UserAuthenDTO userAuthenDTO = (UserAuthenDTO) request.getSession().getAttribute(UserAuthenDTO.SESSION_USER_KEY);
String requestUrl = request.getRequestURI();
System.out.println(requestUrl+"=====================================");
Set set = new HashSet();
set.add("1");
if (userAuthenDTO == null){
writeContent(response,"请先登录");
}else {
userAuthenDTO.setAuthorities(set);
if (userAuthenDTO.getAuthorities() != null && userAuthenDTO.getAuthorities().contains("1")
&& requestUrl.contains("/index")){
return true;
}
writeContent(response,"不好意思,没有权限");
}
return false;
}
private void writeContent(HttpServletResponse response,String msg){
response.setContentType("text/html;charset=UTF-8");
try{
PrintWriter printWriter = response.getWriter();
printWriter.print(msg);
printWriter.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
贰.注册拦截器
在 WebMvcConfigurer 的实现类中重写addInterceptors方法
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new SimpleInterceptor()).addPathPatterns("/index");
}












网友评论