public class AuthInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
BaseBody bb = new BaseBody();
// 获取请求头部,微服务验证参数都在请求头部
Map<String, String> header = HttpClientUtil.getHeaderInfo(request);
String signature = header.get("signature");
String time = header.get("time");
try {
ServiceAuthentication.checkSecretKey(signature, time);
return true;
} catch (MSException e) {
bb.setResultCode(BaseBody.SYS_ERROR);
bb.setMsg("无权限");
authFailed(response,bb);
return false;
}
}
private void authFailed(HttpServletResponse response,BaseBody responseBody){
PrintWriter writer = null;
String json = JsonUtil.toJson(responseBody);
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=utf-8");
try {
writer = response.getWriter();
writer.print(json);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (writer != null)
writer.close();
}
}
}
“`