Получить зарегистрированного пользователя в AuthenticationFacade - PullRequest
0 голосов
/ 17 января 2019

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

@Component
public class AuthenticationFacade implements IAuthenticationFacade {

@Override
public User getAuthentication() {
    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

    return (User) authentication.getDetails();
}

}

В моем классе обслуживания я пытаюсь получить зарегистрированного пользователя с

import org.springframework.security.core.userdetails.User;
User loggedUser = authenticationFacade.getAuthentication();

Но я получаю исключение

java.lang.ClassCastException: com.ssssseeee.services.tool.security.TokenBasedUserDetails cannot be cast to org.springframework.security.core.userdetails.User

Пробовал много вещей, чтобы привести аутентификацию к пользователю, чтобы получить детали для получения объекта Principal, но я не могу понять, как привести к этому типу пользователя

1 Ответ

0 голосов
/ 17 января 2019

Измените User loggedUser = authenticationFacade.getAuthentication(); на TokenBasedUserDetails loggedUser = (TokenBasedUserDetails )authenticationFacade.getAuthentication();, затем используйте loggedUser методы для получения информации о текущем зарегистрированном пользователе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...