Spring Security:UserDetailsManager接口用于什么?和更多!

时间:2009-04-08 09:16:11

标签: java spring-security

我对UserDetailsManager界面感到好奇。在参考指南和JavaDoc中没有提到它被描述为:

  

延伸   UserDetailsService提供了   创建新用户和更新的能力   现有的。

在实现UserDetailsManager接口时,您必须实现它自己的五个方法,以及它从它扩展的UserDetailsS​​ervice继承的方法。

这些方法包括:createUser,updateUser,deleteUser,changePassword,userExists和继承的方法loadUserByUsername。

在Spring Security框架v2.0.4中,UserDetailsManager有两个具体实现:JdbcUserDetailsManagerLdapUserDetailsManager

接口和具体实现都由Luke Taylor实现。

Spring Security框架似乎从不使用具体的实现。

我的结论是,界面纯粹作为便利界面包含在框架的用户可能决定使用或不决定使用。也许有人认为以后会有更具体的实现存在并为框架用户拿出一些工作?

我正在寻找的是更多信息。为了使信息具有价值,必须直接或间接(我猜这很可能)来自对框架开发过程有深入了解的人。其他任何人都可以猜测,就像我上面所做的那样。

如果它只是一个方便的界面。 还有更多此类接口和类没有出现在参考指南中吗?我很有兴趣知道它在开发过程中对我有帮助。

查看所有接口和类以查看框架内实际使用的接口和类有点潮流,如果涉及到反射,它也可能容易出错(因此调用是我的IDE无法弄清楚的)。

1 个答案:

答案 0 :(得分:3)

你的猜测是正确的。根据{{​​3}}它添加了“,因为它是一个非常常见的功能,并且通过扩展现有接口和类来实现相当简单。

original feature request创建一个单独的项目来填充此界面,但尚未实现。