Spring security 手动验证用户身份

Spring security 手动验证用户身份,spring-security,Spring Security,在我使用oAuth(如果有区别的话,使用Twitter)获得凭据之后,我正在尝试对用户进行身份验证。据我所知,我可以直接将身份验证对象放入SecurityContextHolder中。我是这样做的: Authentication auth = new TwitterOAuthAuthentication(member, userDetailsService.loadUserByUsername(member.getUsername()).getAuthorities()); SecurityCo

在我使用oAuth(如果有区别的话,使用Twitter)获得凭据之后,我正在尝试对用户进行身份验证。据我所知,我可以直接将身份验证对象放入SecurityContextHolder中。我是这样做的:

Authentication auth = new TwitterOAuthAuthentication(member,
userDetailsService.loadUserByUsername(member.getUsername()).getAuthorities());
SecurityContextHolder.getContext().setAuthentication(auth);
出于某种原因,这完全不起作用。我缺少什么?我应该做些什么来满足我的需要?

尝试添加

auth.setAuthenticated(true);
在将身份验证设置为上下文之前

以下代码对我来说很好(在过滤器类中):

final Authentication auth = new CustomAuthenticationToken(user);
auth.setAuthenticated(true);
SecurityContextHolder.getContext().setAuthentication(auth);