gpt4 book ai didi

java - 在自定义身份验证实现中将密码存储在 SecurityContext 中是否安全?

转载 作者:行者123 更新时间:2023-12-01 09:30:12 27 4
gpt4 key购买 nike

我创建了一个自定义的 AuthenticationProvider,因此我必须返回一个包含用户的用户名和密码的 Authentication 实现(例如 UsernamePasswordAuthenticationToken > 或自定义实现)。 Authentication 实现的此实例将存储在 SecurityContext 中。这是一个好的做法吗?密码是否安全存储?谢谢!

public class CustomAuthenticationProvider implements AuthenticationProvider {

@Autowired
private SSOClient ssoClient;

@Override
public Authentication authenticate(Authentication authentication)
throws AuthenticationException {
String id = authentication.getName();
String password = authentication.getCredentials().toString();

ssoClient.login(id, password);
return new CustomAuthenticationToken(id, password);
}

@Override
public boolean supports(Class<?> authentication) {
return authentication.equals(UsernamePasswordAuthenticationToken.class);
}

}

最佳答案

我认为在安全上下文中存储密码并不安全,因为安全上下文可以跨应用程序访问。我建议我们使用 UsernamePasswordAuthenticationToken 中的密码进行身份验证并删除它。

关于java - 在自定义身份验证实现中将密码存储在 SecurityContext 中是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39494090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com