Browse Source

Add userDetailsMapper as a class member

Signed-off-by: dae won <eodnjs01477@gmail.com>
pull/16646/head
dae won 10 months ago committed by Josh Cummings
parent
commit
6ac3426e39
  1. 10
      core/src/main/java/org/springframework/security/provisioning/JdbcUserDetailsManager.java

10
core/src/main/java/org/springframework/security/provisioning/JdbcUserDetailsManager.java

@ -30,6 +30,7 @@ import org.springframework.context.ApplicationContextException; @@ -30,6 +30,7 @@ import org.springframework.context.ApplicationContextException;
import org.springframework.core.log.LogMessage;
import org.springframework.dao.IncorrectResultSizeDataAccessException;
import org.springframework.jdbc.core.PreparedStatementSetter;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@ -156,6 +157,8 @@ public class JdbcUserDetailsManager extends JdbcDaoImpl implements UserDetailsMa @@ -156,6 +157,8 @@ public class JdbcUserDetailsManager extends JdbcDaoImpl implements UserDetailsMa
private UserCache userCache = new NullUserCache();
private RowMapper<UserDetails> userDetailsMapper = this::mapToUser;
public JdbcUserDetailsManager() {
}
@ -163,6 +166,11 @@ public class JdbcUserDetailsManager extends JdbcDaoImpl implements UserDetailsMa @@ -163,6 +166,11 @@ public class JdbcUserDetailsManager extends JdbcDaoImpl implements UserDetailsMa
setDataSource(dataSource);
}
public void setUserDetailsMapper(RowMapper<UserDetails> mapper) {
Assert.notNull(mapper, "userDetailsMapper cannot be null");
this.userDetailsMapper = mapper;
}
@Override
protected void initDao() throws ApplicationContextException {
if (this.authenticationManager == null) {
@ -178,7 +186,7 @@ public class JdbcUserDetailsManager extends JdbcDaoImpl implements UserDetailsMa @@ -178,7 +186,7 @@ public class JdbcUserDetailsManager extends JdbcDaoImpl implements UserDetailsMa
*/
@Override
protected List<UserDetails> loadUsersByUsername(String username) {
return getJdbcTemplate().query(getUsersByUsernameQuery(), this::mapToUser, username);
return getJdbcTemplate().query(getUsersByUsernameQuery(), userDetailsMapper, username);
}
protected UserDetails mapToUser(ResultSet rs, int rowNum) throws SQLException {

Loading…
Cancel
Save