0

任何人都可以帮我了解如何在自定义登录 jsp 文件中添加更多字段吗?默认值为“j_username”和“j_password”。如果我想添加更多字段 ie 并想在我CustomAuthenticationProvider的扩展类中获取它怎么办AbstractUserDetailsAuthenticationProvider?如果有任何资源或链接,请告诉我。

4

1 回答 1

7

引用官方常见问题解答

1.1。我需要使用更多信息登录,而不仅仅是用户名。如何添加对额外登录字段(例如公司名称)的支持?

这个问题在 Spring Security 论坛中反复出现,因此您可以通过搜索档案(或通过 google)在那里找到更多信息。

提交的登录信息由UsernamePasswordAuthenticationFilter. 您将需要自定义此类以处理额外的数据字段。一种选择是使用您自己定制的身份验证令牌类(而不是标准的UsernamePasswordAuthenticationToken),另一种是简单地将额外的字段与用户名连接起来(例如,使用“ :”作为分隔符)并将它们传递到 的用户名属性中UsernamePasswordAuthenticationToken

您还需要自定义实际的身份验证过程。例如,如果您使用自定义身份验证令牌类,则必须编写一个AuthenticationProvider来处理它(或扩展标准DaoAuthenticationProvider)。如果您已连接字段,则可以实现自己的字段,UserDetailsService将它们拆分并加载适当的用户数据以进行身份​​验证。

于 2012-05-13T11:42:51.053 回答