我有一个Spring Boot应用程序,它使用spring-security-jwt和spring-security-oath2 . 我有一个自定义User对象扩展UserDetails和一个Custom UserDetailsService从loadUserByUsername方法返回此对象 .
但是,当我使用Authentication对象的getPrincipal方法并尝试Cast到我的自定义用户对象时,它会因为主体返回字符串vs我的自定义用户对象而失败 .
我的实际目标是在需要最多自定义对象详细信息的每个方法调用上消除持久层的行程 .
1 回答
您可以通过将
AccessTokenConverter
(间接保存UserDetailsService
)设置为JwtAccessTokenConverter
来完成此操作 . 请参见accessTokenConverter()
方法 .