Spring安全自定义登录页面

Aka*_*sh. 0 spring spring-security login-page

任何人都可以帮我解决如何在自定义登录jsp文件中添加更多字段?默认值为"j_username"和"j_password".如果我想添加更多的领域,即,并希望得到它在我的CustomAuthenticationProvider类扩展AbstractUserDetailsAuthenticationProvider.如果有任何资源或链接,请告诉我.

Tom*_*icz 7

引用官方常见问题解答:

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

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

提交的登录信息由实例处理UsernamePasswordAuthenticationFilter.您需要自定义此类以处理额外的数据字段.一种选择是使用您自己的自定义身份验证令牌类(而不是标准UsernamePasswordAuthenticationToken),另一种选择只是将额外字段与用户名连接(例如,使用" :"作为分隔符)并将其传递给username属性UsernamePasswordAuthenticationToken.

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

  • @Akash.没问题.考虑接受/回答答案,将问题标记为已解决. (2认同)