优化websocket连接认证异常处理

This commit is contained in:
walker 2023-06-15 16:33:34 +08:00
parent 6c549b4b39
commit de84ccf650

View File

@ -1,25 +1,20 @@
package club.joylink.xiannccda.configuration;
import club.joylink.xiannccda.exception.BusinessExceptionAssertEnum;
import com.alibaba.fastjson2.JSON;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
import org.springframework.http.HttpStatusCode;
import org.springframework.http.ProblemDetail;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.MessagingException;
import org.springframework.messaging.simp.config.ChannelRegistration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.messaging.simp.stomp.StompCommand;
import org.springframework.messaging.simp.stomp.StompHeaderAccessor;
import org.springframework.messaging.support.ChannelInterceptor;
import org.springframework.messaging.support.MessageHeaderAccessor;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthentication;
import org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthenticationToken;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationProvider;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
@ -75,7 +70,7 @@ public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
};
}
} catch (AuthenticationException e) {
throw e; // 待寻找优雅的方案
throw new MessagingException(String.valueOf(HttpStatus.UNAUTHORIZED.value()));
}
}
return message;