rel*_*ood 3 spring-security jwt
Spring Security 提供了一些方便的方法控制注解:
@PreAuthorize("hasRole('ADMIN')")
@PreAuthorize("hasAuthority('ROLE_ADMIN')")
@PreAuthorize("hasPermission('ADD')")
Run Code Online (Sandbox Code Playgroud)
我想用一些自定义方法来扩展它,比如
@PreAuthorize("hasCompany('XX')")
Run Code Online (Sandbox Code Playgroud)
其验证数据应来自 JWT 令牌。
任何人都可以帮忙吗?
有几种方法可以做到,但@Andrew 提到的会更容易。只是指出你说你想检查你的 JWT 令牌是否有特定的公司“XX”,那么它将是
@PreAuthorize("@yourBeanName.customMethod(authentication)")
在 yourBeanName 实例中,您需要实现一个方法来从中提取公司信息并比较这两者,
或者,也许你可以做类似的事情
@PreAuthorize("#oauth2.hasCompany('XX')")
与普通 SpringEL 可以使用 oauth2 访问令牌执行的操作相同。
要做到这一点,
| 归档时间: |
|
| 查看次数: |
3896 次 |
| 最近记录: |