我对UserDetailsManager界面很好奇。参考指南中没有提到它,在 JavaDoc 中它被描述为:
UserDetailsService的扩展, 它提供了创建新用户和更新现有用户的能力。
在实现UserDetailsManager接口时,您必须实现它自己的五个方法,其中一个方法继承自它扩展的 UserDetailsService。
这些方法是:createUser、updateUser、deleteUser、changePassword、userExists 和继承的方法 loadUserByUsername。
在 Spring Security 框架 v2.0.4 中有两个 UserDetailsManager 的具体实现:JdbcUserDetailsManager和LdapUserDetailsManager。
接口和具体实现均由 Luke Taylor 实现。
似乎 Spring Security 框架从不使用具体的实现。
我的结论是,该界面纯粹是作为一个方便的界面,框架的用户可能会或可能不会决定使用它。也许有人认为稍后会存在更具体的实现并为框架用户完成一些工作?
我正在寻找更多信息。为了使信息有价值,它必须直接或间接(我想这很可能)来自对框架开发过程有洞察力的人。其他任何人都可以猜测,就像我在上面所做的那样。
如果它只是一个方便的界面。是否还有更多没有出现在参考指南中的接口和类?我有兴趣知道,因为它可能在开发过程中对我有所帮助。
查看所有接口和类以查看框架中实际使用了哪些接口和类有点繁琐,如果涉及反射,也可能容易出错(因此调用了我的 IDE 无法识别的调用)。