手动验证用户身份

2024-04-01

在使用 oAuth 获得凭据后,我尝试对用户进行身份验证(如果有影响的话,可以使用 Twitter)。据我所知,我可以直接将 Authentication 对象放入 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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手动验证用户身份 的相关文章

随机推荐