我正在学习 Spring Security,但我不完全了解是否应该JdbcUserDetailsManager
使用UserDetailsService
. 我正在使用数据库来存储用户。
JdbcUserDetailsManager
除了很多我不确定我想使用的方法之外,我没有得到什么给你的东西?如果您有验证等怎么办?您是否将其包装在自己的实现中UserDetailsService
?
我的意思是,你会在你的应用程序中泄露这个管理器类吗?创建自己的更好吗?
我正在学习 Spring Security,但我不完全了解是否应该JdbcUserDetailsManager
使用UserDetailsService
. 我正在使用数据库来存储用户。
JdbcUserDetailsManager
除了很多我不确定我想使用的方法之外,我没有得到什么给你的东西?如果您有验证等怎么办?您是否将其包装在自己的实现中UserDetailsService
?
我的意思是,你会在你的应用程序中泄露这个管理器类吗?创建自己的更好吗?
有一些区别:
UserDetailsService
是加载用户详细信息的核心接口,由DaoAuthenticationProvider
.UserDetailsService
有一个子接口,定义了对用户抽象的CRUD操作:UserDetailsManager
JdbcDaoImpl
是UserDetailsService
.JdbcUserDetailsManager
是 的 JDBC 实现UserDetailsManager
和扩展JdbcDaoImpl
。它还提供接口GroupManager
基于这些差异,它可能会影响您如何决定使用、公开、包装甚至实现哪个。