为了账号安全,请及时绑定邮箱和手机立即绑定

spring security 自定义UserDetailsService问题

spring security 自定义UserDetailsService问题

幕布斯7119047 2019-03-14 14:10:40
在自定义UserDetailsService时我继承了JdbcDaoImpl,并重写了loadUserByUsername()方法在方法体中:[code="java"]@Overridepublic 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大牛...
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

还要修改一个地方,就是JdbcUserDetailsManager中执行这个sql的部分。建议增加一个类,继承JdbcUserDetailsManager,覆盖loadUsersByUsername方法。


查看完整回答
反对 回复 2019-04-26
?
白板的微信

TA贡献1883条经验 获得超3个赞

UserDetails ud = super.loadUserByUsername(username); 你在自定义方法执行时先执行了父类的方法,肯定是调用了父类的实现了, 想实现自定义sql可以在配置文件中自定义


查看完整回答
反对 回复 2019-04-26
  • 3 回答
  • 0 关注
  • 5472 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信