Spring 在运行时更改ELEAF角色

Spring 在运行时更改ELEAF角色,spring,spring-boot,spring-security,thymeleaf,Spring,Spring Boot,Spring Security,Thymeleaf,如果您有一个表,其中包含来自视图的安全html标记和以下角色: 视图\u 1、资源\u 1、角色\u 1 视图1、资源1、角色2 视图1、资源2、角色2 视图1、资源2、角色3 有没有一种方法可以在不硬编码角色的情况下使用thymeleaf安全性保护这些html标记 例如: 视图_1、资源_1的硬编码: <div sec:authorize="hasAnyRole('role_1','role_2')">...</div> <div sec:authorize="

如果您有一个表,其中包含来自视图的安全html标记和以下角色:

  • 视图\u 1、资源\u 1、角色\u 1
  • 视图1、资源1、角色2
  • 视图1、资源2、角色2
  • 视图1、资源2、角色3
  • 有没有一种方法可以在不硬编码角色的情况下使用thymeleaf安全性保护这些html标记

    例如:

    视图_1、资源_1的硬编码:

    <div sec:authorize="hasAnyRole('role_1','role_2')">...</div>
    
    <div sec:authorize="hasAnyRole(ROLES_FROM_DATABASE)">...</div>
    
    。。。
    
    视图\u 1、资源\u 1需要什么:

    <div sec:authorize="hasAnyRole('role_1','role_2')">...</div>
    
    <div sec:authorize="hasAnyRole(ROLES_FROM_DATABASE)">...</div>
    
    。。。
    
    为什么不呢。将
    ROLES\u从\u数据库传递到您的视图请记住,它应该是阵列的。我已经尝试过了,但没有结果,因为它会是这样的
    如何
    sec:authorize=“hasAnyRole(ROLES\u FROM\u数据库)”>。
    ?不要使用角色。使用权限并将角色视为权限的集合。这样,您就可以配置尽可能多的角色(或组,如Spring安全术语中所称),并且仍然具有访问页面所需的相同权限。