我是春天新手。我的要求是: 我需要在组件类中获取用户名和密码。通过调用我的客户端提供的Web服务来验证它。 所以我想为我的密码提供安全保护,这在任何地方都无法直接显示。 那么如何实现呢? 请提出建议
答案 0 :(得分:0)
Spring Security可以参与许多不同的身份验证环境。虽然我们建议人们使用Spring Security进行身份验证,而不是与现有的容器管理身份验证集成,但它仍然受到支持 - 与您自己的专有身份验证系统集成。
Spring Security中的身份验证是什么?
让我们考虑一个每个人都熟悉的标准身份验证方案。
提示用户使用用户名和密码登录。
系统(成功)验证用户名的密码是否正确。
获取该用户的上下文信息(他们的角色列表等)。
为用户
建立安全上下文用户继续执行某些可能受访问控制机制保护的操作,该机制根据当前安全上下文信息检查操作所需的权限。
前三项构成了身份验证过程,因此我们将了解这些内容是如何在Spring Security中进行的。
获取用户名和密码并将其合并到UsernamePasswordAuthenticationToken(我们之前看到的Authentication接口的一个实例)的实例中。
将令牌传递给AuthenticationManager实例进行验证。
AuthenticationManager在成功验证后返回完全填充的身份验证实例。
通过调用SecurityContextHolder.getContext()。setAuthentication(...)建立安全上下文,传入返回的身份验证对象。
这可能会有所帮助:http://www.viddler.com/v/c596114a