我们有一个spring引导服务器,它使用jwt令牌对用户进行身份验证。应根据用户的身份为其分配角色。
授予令牌的服务器不知道用户在每个系统中应该具有哪些角色,因此每个系统应该基于用户的标识授予角色。
比如:
验证用户身份。
(用户已通过身份验证)在安全上下文中查找用户具有哪些角色并将其添加到身份验证中。
检查角色。例如, @PreAuthorize(hasRole('some_role'))
我的问题是:
我该怎么做?或者,我不应该这样做,以另一种方式处理情况?
我们有一个spring引导服务器,它使用jwt令牌对用户进行身份验证。应根据用户的身份为其分配角色。
授予令牌的服务器不知道用户在每个系统中应该具有哪些角色,因此每个系统应该基于用户的标识授予角色。
比如:
验证用户身份。
(用户已通过身份验证)在安全上下文中查找用户具有哪些角色并将其添加到身份验证中。
检查角色。例如, @PreAuthorize(hasRole('some_role'))
我的问题是:
我该怎么做?或者,我不应该这样做,以另一种方式处理情况?
2条答案
按热度按时间vptzau2j1#
如前所述,
JwtAuthenticationConverter
是预期的配置点。Spring 保安会把它作为
@Bean
:正如在另一个答案中已经指出的,您也可以在dsl上设置一个。
您可以在参考资料中阅读更多内容:https://docs.spring.io/spring-security/site/docs/5.4.4/reference/html5/#oauth2resourceserver-jwt授权提取
jv2fixgn2#
我找到了一个方法,通过使用自定义
jwtAuthenticationConverter
.