SpringMVC 3 Spring Security Создание входа пользователя - PullRequest
0 голосов
/ 15 августа 2011

Я пытаюсь использовать этот урок для создания страницы входа пользователя Spring mvc.

Урок великолепен, но одна вещь не ясна, на второй странице он говорит об интерфейсе UserRepository.Методы интерфейса возвращают User.Что меня смущает, так это то, что User он имеет в виду, это User объектная часть каркаса пружины?Причина, по которой я спрашиваю, потому что я хочу иметь поле адреса электронной почты, которого нет в объекте User, который является частью среды безопасности Spring.

Кроме того, в его реализации UserLoginService онесть метод:

@Override
public User getLoggedUser() {
    User loggedUser = null;
    AuthenticationUserDetails userDetails = getLoggedUserDetails();
    if (userDetails != null) {            
        loggedUser = userRepository.findById(userDetails.getId());
    }
    return loggedUser;
}

проблема в том, что AuthenticationUserDetails не имеет метода getId(), что заставляет меня думать, что он намеревается расширить пользователя Spring для создания собственной сущности Account или чего-то еще.

Я хочу использовать Hibernate для создания моих Account и Role сущностей, и до сих пор каждый учебник, который я нашел, кажется, до Spring MVC 3 или просто дает кусочки.

Может ли кто-нибудь дать разъяснения по этому вопросу или посоветовать мне хороший учебник по входу пользователей в Spring Security и SpringMVC?

1 Ответ

1 голос
/ 15 августа 2011

User является объектом Spring Security UserDetails.Если вы хотите расширить объект для добавления дополнительных полей, реализуйте интерфейс UserDetailsService и расширьте объект UserDetails своими собственными полями.Затем настройте Spring Security на использование вашего сервиса следующим образом:

<security:authentication-manager>
    <security:authentication-provider user-service-ref="myDetailsService" />
</security:authentication-manager>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...