| | |
| | | package com.genersoft.iot.vmp.conf.security; |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.genersoft.iot.vmp.conf.security.dto.JwtUser; |
| | | import com.genersoft.iot.vmp.vmanager.bean.ErrorCode; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; |
| | | import org.springframework.security.core.AuthenticationException; |
| | | import org.springframework.security.core.context.SecurityContextHolder; |
| | | import org.springframework.security.web.AuthenticationEntryPoint; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | * @author lin |
| | | */ |
| | | @Component |
| | | public class AnonymousAuthenticationEntryPoint implements AuthenticationEntryPoint { |
| | | |
| | | private final static Logger logger = LoggerFactory.getLogger(DefaultUserDetailsServiceImpl.class); |
| | | public class AnonymousAuthenticationEntryPoint implements AuthenticationEntryPoint { |
| | | |
| | | @Override |
| | | public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) { |
| | | System.err.println(e.getMessage()); |
| | | String jwt = request.getHeader(JwtUtils.getHeader()); |
| | | JwtUser jwtUser = JwtUtils.verifyToken(jwt); |
| | | String username = jwtUser.getUserName(); |
| | | UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(username, jwtUser.getPassword() ); |
| | | SecurityContextHolder.getContext().setAuthentication(token); |
| | | System.out.println(jwt); |
| | | // 允许跨域 |
| | | String origin = request.getHeader("Origin"); |
| | | response.setHeader("Access-Control-Allow-Credentials", "true"); |