先来一张UserDetailsService的类图:
图1 UserDetailsService的类图
图2 UserDetailsManager的类图
图3 UserDetailsService hierarchy
UserDetailsService的loadUserByUsername方法,通过username来获取user信息。
另一个重要的类是AuthenticationUserDetailsService,它的类图如下图4所示,AuthenticationUserDetailsService与UserDetailsService最大的区别,原本讲的很好,"it allows you to retrieve a UserDetails using an Authentication object instead of a user name String, making it more flexible to implement"
图4 AuthenticationUserDetailsService的类图
比如OpenIDAuthenticationProvider和CasAuthenticationProvider使用的就是AuthenticationUserDetailsService来获得user信息。DaoAuthenticationProvider使用的是UserDetailsService。
(adsbygoogle = window.adsbygoogle || []).push({});