【发布时间】:2010-08-08 18:18:49
【问题描述】:
我正在尝试了解 Spring 3.0 身份验证。
在下面的代码中,为什么user.getRole()设置为GrantedAuthority?
public final UserDetails loadUserByUsername(final String username)
{
final List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
UserAccount user = (UserAccount) memcacheService.get(username);
if (user == null)
{
final Query query = entityManager.createQuery("SELECT u FROM UserAccount u WHERE username = :username");
query.setParameter(USERNAME, username);
try
{
user = (UserAccount) query.getSingleResult();
memcacheService.put(username, user, Expiration.byDeltaSeconds(DEFAULT_EXPIRATION));
}
catch (NoResultException e)
{
return null;
}
}
authorities.add(new GrantedAuthorityImpl(user.getRole()));
return new EnhancedUser(user.getUsername(), user.getEmail(), user.getDisplayName(), user.getPassword(), user
.getSalt(), user.isEnabled(), user.isAccountNonExpired(), user.isCredentialsNonExpired(), user.isAccountNonLocked(),
authorities);
}
【问题讨论】:
标签: java authentication spring-security