001package run.iget.framework.desensitization.interceptor;
002
003import org.springframework.ui.ModelMap;
004import org.springframework.web.context.request.WebRequest;
005import org.springframework.web.context.request.WebRequestInterceptor;
006
007import run.iget.framework.common.util.WebUtils;
008import run.iget.framework.desensitization.context.DesensitizationThreadLocalContext;
009
010public class DesensitizationWebRequestInterceptor implements WebRequestInterceptor {
011
012    public static final String NOT_NEED_DESENSITIZATION_PARAM_NAME = "notNeedDesensitization";
013
014    @Override
015    public void preHandle(WebRequest request) throws Exception {
016        String parameter = WebUtils.getParameter(NOT_NEED_DESENSITIZATION_PARAM_NAME);
017        DesensitizationThreadLocalContext.put(parameter);
018    }
019
020    @Override
021    public void postHandle(WebRequest request, ModelMap model) throws Exception {
022    }
023
024    @Override
025    public void afterCompletion(WebRequest request, Exception ex) throws Exception {
026        DesensitizationThreadLocalContext.clear();
027    }
028}