在自定义UserDetailsService时我继承了JdbcDaoImpl,并重写了loadUserByUsername()方法在方法体中:
[code="java"]
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException {
UserDetails ud = super.loadUserByUsername(username);
AuthUserDetails authUser = new AuthUserDetails(ud.getUsername(),ud.getPassword(),ud.isEnabled(),ud.isAccountNonExpired(),
ud.isCredentialsNonExpired(),ud.isAccountNonLocked(),ud.getAuthorities());
}
[/code]
调用了父类的loadUserByUsername()方法,是不是就是走了父类中的sql:
[code="java"]
public static final String DEF_USERS_BY_USERNAME_QUERY =
"SELECT username,password,enabled " +
"FROM users " +
"WHERE username = ?";
[/code]
这样我是不是就得建users表?
我感觉这个我能通过自己自定义应该可以重写一下吧?
求ss大牛...
spring security 自定义UserDetailsService问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- iteye_5246 2012-11-28 12:48关注
还要修改一个地方,就是JdbcUserDetailsManager中执行这个sql的部分。建议增加一个类,继承JdbcUserDetailsManager,覆盖loadUsersByUsername方法。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报