Принципал получает идентификатор пользователяJAVA

Программисты JAVA общаются здесь
Гость
Принципал получает идентификатор пользователя

Сообщение Гость »

Я не могу получить имя пользователя, кроме его имени, но имя не является уникальным для идентификатора или полного пользователя
У меня есть

@Component
public class WebSocketEventListener {
private static final Logger logger =
LoggerFactory.getLogger(WebSocketEventListener.class);

@EventListener
public void handleWebSocketConnectListener(SessionConnectedEvent event) {
logger.info("Received a new web socket connection");

System.out.println("User connection : " + event.getUser());
}
}


Есть метод getUser() getName но имя не уникально,
и метод event.getUser() выдаёт что-то ужасное)) --

User connection :
org.springframework.security.authentication.UsernamePasswordAuthenticationToken@fe260c00: Principal:
User(id=1, username=admin, password=$2a$08$VDogbqVQY23gNnLFty/6ReGLecW/bk3oCkUHrsly4HgjBIGRNBSEC,
email=kiy9@gmail.com); Credentials: [PROTECTED]; Authenticated: true; Details:
org.springframework.security.web.authentication.WebAuthenticationDetails@0: RemoteIpAddress:
0:0:0:0:0:0:0:1; SessionId: 3566D00689DCC01041367983F3132937; Granted Authorities: USER


Есть ли способ получить оттуда пользователя или идентификатор?

если я попробую User user = event .getUser() или ((User)event.getUser()).getId()
Я получаю

java.lang.ClassCastException:
org.springframework.security.authentication.
UsernamePasswordAuthenticationToken
cannot be cast to com.newcode.meeting.domain.User


Подробнее здесь: https://stackoverflow.com/questions/592 ... et-user-id

Вернуться в «JAVA»