Как получить pK, используя Spring Security - PullRequest
0 голосов
/ 28 декабря 2010

Я реализую этот метод интерфейса UserDetailService ,

public UserDetails loadUserByUsername(final String username)
            throws UsernameNotFoundException, DataAccessException {
        final EmailCredential userDetails = persistentEmailCredential
                .getUniqueEmailCredential(username);
        if (userDetails == null) {
            throw new UsernameNotFoundException(username + "is not registered");
        }
        final HashSet<GrantedAuthority> authorities = new HashSet<GrantedAuthority>();
        authorities.add(new GrantedAuthorityImpl("ROLE_USER"));

    for (UserRole role:userDetails.getAccount().getRoles()) {
        authorities.add(new GrantedAuthorityImpl(role.getRole()));
    }

    return new User(userDetails.getEmailAddress(), userDetails
            .getPassword(), true, true, true, true,
            authorities);
}

. В контексте безопасности я делаю что-то вроде этого:

Теперь я хочу открыть Pk вошедшего в систему пользователя.

Как я могу показать это на моих страницах jsp?

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 28 декабря 2010

Вы можете реализовать свой собственный класс, расширяющий User необходимыми полями, и вернуть его из UserDetailsService.

Затем вы можете получить доступ к этим полям, как указал Рагурам:

<security:authentication property="principal.pk"/>
0 голосов
/ 28 декабря 2010

Полагаю, вы ищете что-то подобное, что можно использовать в jsp.

<security:authentication property="principal.username"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...