如何使用spring为密码提供安全性

时间:2016-02-02 12:13:15

标签: spring spring-mvc spring-security

我是春天新手。我的要求是: 我需要在组件类中获取用户名和密码。通过调用我的客户端提供的Web服务来验证它。 所以我想为我的密码提供安全保护,这在任何地方都无法直接显示。 那么如何实现呢? 请提出建议

1 个答案:

答案 0 :(得分:0)

Spring Security可以参与许多不同的身份验证环境。虽然我们建议人们使用Spring Security进行身份验证,而不是与现有的容器管理身份验证集成,但它仍然受到支持 - 与您自己的专有身份验证系统集成。

Spring Security中的身份验证是什么?

让我们考虑一个每个人都熟悉的标准身份验证方案。

提示用户使用用户名和密码登录。

系统(成功)验证用户名的密码是否正确。

获取该用户的上下文信息(他们的角色列表等)。

为用户

建立安全上下文

用户继续执行某些可能受访问控制机制保护的操作,该机制根据当前安全上下文信息检查操作所需的权限。

前三项构成了身份验证过程,因此我们将了解这些内容是如何在Spring Security中进行的。

获取用户名和密码并将其合并到UsernamePasswordAuthenticationToken(我们之前看到的Authentication接口的一个实例)的实例中。

将令牌传递给AuthenticationManager实例进行验证。

AuthenticationManager在成功验证后返回完全填充的身份验证实例。

通过调用SecurityContextHolder.getContext()。setAuthentication(...)建立安全上下文,传入返回的身份验证对象。

这可能会有所帮助:http://www.viddler.com/v/c596114a