2017-04-13 96 views
-2

我正在使用Spring(Web MVC-REST)4.3.3,spring security 3.2.4,Spring安全Oauth 1.0.0和OAuth2授权。从OAuth令牌获取用户ID

我将用户的id存储为认证对象的原理。

我的问题是, 我想知道哪个用户在服务层中调用了Web服务。我怎么弄到的?

我想用它这样的,

假如有人创建了一个用户。创建者将被存储在新用户中。一种方法是从客户端传递用户对象中的创建者,但我希望从令牌本身获取它,因为它已经拥有该信息。

编辑

downvote的简要说明表示欢迎。

回答

1

您可以通过

Authentication auth = SecurityContextHolder.getContext().getAuthentication(); 

SecurityContextHolder的访问认证信息包含ThreadLocal变量,所以请求处理过程中的可用任何地方。 Authentication对象应包含来自令牌的信息。

相关问题