通过实施TokenEnhancer
,我成功添加了user_id
关于授权服务器端上生成的令牌的附加信息。这里生成的令牌:现在如何访问令牌additionalInformation以验证基于表达式的访问控制
{"access_token":"ccae1713-00d4-49c2-adbf-e699c525d53e","token_type":"bearer","expires_in":31512,"scope":"end-user","user_id":2}
,在资源服务器侧,这是一个完全独立的弹簧项目通过RemoteTokenServices
连通,我想用论文信息与方法expression-based access control
。比如我想使用添加的user_id
数据(它是春天JPA的数据仓库中使用Spring数据休息使用):
@PreAuthorize("#oauth2.hasScope('admin') or #id == authentication.principal.user_id") @Override UserAccount findOne (@P("id") Integer id);
的#oauth2.hasScope('admin')
按预期工作,但#id == authentication.principal.user_id"
部分显然不是。
如何访问添加到令牌上的基于表达式的访问控制的附加数据?
感谢分享。你的UserDetailsServiceImpl是怎么样的? –
我将UserDetailsServiceImpl添加到了答案中。 –
感谢您的快速回复。 –