|  |  | 
 |  |  | package com.genersoft.iot.vmp.conf.security; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.alibaba.fastjson2.JSONObject; | 
 |  |  | import com.genersoft.iot.vmp.vmanager.bean.ErrorCode; | 
 |  |  | import org.apache.poi.hssf.eventmodel.ERFListener; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import org.springframework.security.core.AuthenticationException; | 
 |  |  | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * 处理匿名用户访问逻辑 | 
 |  |  |  * @author lin | 
 |  |  |  */ | 
 |  |  | @Component | 
 |  |  | public class AnonymousAuthenticationEntryPoint implements AuthenticationEntryPoint { | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) { | 
 |  |  |         logger.debug("用户需要登录,访问[{}]失败,AuthenticationException=[{}]", request.getRequestURI(), e.getMessage()); | 
 |  |  |         // 允许跨域 | 
 |  |  |         response.setHeader("Access-Control-Allow-Origin", "*"); | 
 |  |  |         // 允许自定义请求头token(允许head跨域) | 
 |  |  |         response.setHeader("Access-Control-Allow-Headers", "token, Accept, Origin, X-Requested-With, Content-Type, Last-Modified"); | 
 |  |  |         response.setHeader("Content-type", "application/json;charset=UTF-8"); | 
 |  |  |         JSONObject jsonObject = new JSONObject(); | 
 |  |  |         jsonObject.put("msg", e.getMessage()); | 
 |  |  |         jsonObject.put("code", "-1"); | 
 |  |  |         jsonObject.put("code", ErrorCode.ERROR401.getCode()); | 
 |  |  |         jsonObject.put("msg", ErrorCode.ERROR401.getMsg()); | 
 |  |  |         String logUri = "api/user/login"; | 
 |  |  |         if (request.getRequestURI().contains(logUri)){ | 
 |  |  |             jsonObject.put("msg", e.getMessage()); | 
 |  |  |         } | 
 |  |  |         response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); | 
 |  |  |         try { | 
 |  |  |             response.getWriter().print(jsonObject.toJSONString()); |