Witajcie,
Chciałbym pobrać aktualnie zalogowanego usera w kontrollerze websocketa. Mój kod:
@MessageMapping("/test")
@SendTo("/abc")
public String username() {
Object authentication = SecurityContextHolder.getContext().getAuthentication();
return "Hello world";
}
Niestety, po zapięciu się debuggerem do kodu, zmienna authentication ma wartość null. Wiem że metoda getContext() zwraca context, zależnie od wątku w którym została wykonana. Podejrzewam że właśnie w tym tutaj problem, ponieważ websocket działa w innym wątku.
Jest jakieś sprytne obejście na to? Tak żeby pobrać aktualnie zalogowanego Principala?