对于我的 REST 应用程序,我使用了基本身份验证(发送用户密码并在每个请求中登录)。对于某些需要,我使用以下方式获取登录用户:
User loggedUser = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
但是后来我实现了 Spring-Security-Oauth2 并且我使用访问令牌而不是密码和登录名。现在 .getPrincipal() 方法返回“anonymousUser”。所以我的问题是:有没有办法在 spring-security-oauth 中以某种方式获取登录用户?
编辑: 我发现我的安全“拦截 URL 模式”有问题。所以现在我可以使用 SecurityContextHolder 从中获取经过身份验证的用户。