Whi*_*cal 2 java spring authorization spring-security spring-boot
SPEL 有什么技巧,所以我可以在 application.yml 中定义我的管理员角色,然后将它们直接加载到类似的内容中:
@PreAuthorize("hasAnyRole(${my.security.admin-roles-list})")
Run Code Online (Sandbox Code Playgroud)
……?
您可以使用技巧从 @PreAuthorize 注释访问 bean:
application.properties
my.security.admin-roles-list=RoleA,RoleB,RoleC
@Component("securityConfiguration")
public class SecurityConfiguration {
@Value("#{'${my.security.admin-roles-list}'.split(',')}")
private List<String> adminRoles;
public List<String> getAdminRoles() {
return adminRoles;
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用它:
@PreAuthorize("hasAnyRole(@securityConfiguration.getAdminRoles())")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1128 次 |
| 最近记录: |