首页 文章

如何在spring-security-oauth中获得经过身份验证的用户

提问于
浏览
2

对于我的REST应用程序,我使用了基本身份验证(发送用户的密码并在每次请求时登录) . 对于某些需求,我使用以下方式获取登录

User loggedUser = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();

但后来我实现了Spring-Security-Oauth2,我使用访问令牌而不是密码和登录 . 现在.getPrincipal()方法返回“anonymousUser” . 所以我的问题:有没有办法在spring-security-oauth中以某种方式获得登录用户?

EDIT: 我发现自己在安全方面有一个问题"intercept-url pattern" . 所以现在我可以使用SecurityContextHolder从中获取经过身份验证的用户 .

1 回答

  • 1

    在内部控制器方法中,您可以添加此参数,然后它将为您注入,您可以访问用户信息

    getUserAuthentication(OAuth2Authentication auth,Model model)
    

相关问题