Spring-websockets: Die Spring-Sicherheitsautorisierung funktioniert in Websockets nichtJava

Java-Forum
Guest
 Spring-websockets: Die Spring-Sicherheitsautorisierung funktioniert in Websockets nicht

Post by Guest »

Ich arbeite an einer Spring-MVC-Anwendung, in der wir Spring-Sicherheit für die Authentifizierung und Autorisierung haben. Wir arbeiten an der Migration zu Spring-Websockets, haben jedoch ein Problem damit, den authentifizierten Benutzer in eine Websocket-Verbindung zu bringen. Der Sicherheitskontext ist in der Websocket-Verbindung einfach nicht vorhanden, funktioniert aber mit normalem HTTP einwandfrei. Was machen wir falsch?

WebsocketConfig :

Code: Select all

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/app").withSockJS();
}
}
Im Controller unten versuchen wir, den aktuell authentifizierten Benutzer abzurufen, und dieser ist immer null

Code: Select all

@Controller
public class OnlineStatusController extends MasterController{

@MessageMapping("/onlinestatus")
public void onlineStatus(String status) {
Person user = this.personService.getCurrentlyAuthenticatedUser();
if(user!=null){
this.chatService.setOnlineStatus(status, user.getId());
}
}
}
security-applicationContext.xml :

Code: Select all

  


















Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post