手动验证Spring Security

时间:2016-06-28 06:52:58

标签: java authentication spring-security

我有一个在spring security中手动验证的代码,如下所示:

Authentication authentication = new UsernamePasswordAuthenticationToken(username, password);

SecurityContextHolder.getContext().setAuthentication(authenticationManager.authenticate(authentication));

在这些代码中,字段usernamepassword是我系统中的真实帐户。

但是将真实信息放在代码中是很敏感的。

我的意思是,我们创建了一个虚假帐户并授予他们权限,例如USERADMIN

我的问题是:

无论如何都不使用真实账户进行手动验证。

1 个答案:

答案 0 :(得分:2)

是的,只需使用任何用户名和密码创建Username... Authentication,只要它们不是真实的,加上所需的权限。

然后将其放入SecurityContext

List<GrantedAuthority> authorities = Arrays.asList(new SimpleGrantedAuthority("ROLE_ADMIN"));
Authentication authentication = new UsernamePasswordAuthenticationToken("admin_user", "", authorities);
 SecurityContextHolder.getContext().setAuthentication(authentication);