@Override
public UserDetails loadUserByUsername(final String username) {
final Object[][] userAndRoles = userRepository.findByLoginFetchRoles(username);
final SystemUser user;
final Collection<GrantedAuthority> authorities;
if (userAndRoles.length == 0) {
user = new SystemUser();
user.setLogin(username);
authorities = new ArrayList<>();
} else {
user = (SystemUser) userAndRoles[0][0];
// Add all roles
authorities = toSimpleRoles(userAndRoles, 1);
}
// Update last connection information only as needed for performance, delta is one minute
final Date now = org.ligoj.bootstrap.core.DateUtils.newCalendar().getTime();
if (user.getLastConnection() == null || now.getTime() - user.getLastConnection().getTime() > DateUtils.MILLIS_PER_DAY) {
user.setLastConnection(now);
userRepository.saveAndFlush(user);
}
// Also add the default role as needed
authorities.add(new SimpleGrantedAuthority(SystemRole.DEFAULT_ROLE));
return new User(username, "N/A", authorities);
}
RbacUserDetailsService.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:bootstrap
作者:
评论列表
文章目录