java - Spring 安全: Check User Role in Freemarker template

标签 java spring spring-boot freemarker

我正在尝试检查 Freemarker 模板中的用户角色。我试过这个:

<#assign security=JspTaglibs["http://www.springframework.org/security/tags"] />

并通过以下方式检查角色:

<@security.authorize  access="hasRole('ADMIN')">
    /*DO SOME STUFF*/
</@security.authorize>

但是我遇到了一个错误:

freemarker.template.TemplateModelException: Error while looking for TLD file for "http://www.springframework.org/security/tags"; see cause exception.

Interned里有很多解决方案,我已经尝试了一切:在pom.xml中添加依赖项,尝试更改taglibs的链接等。

但它不起作用,那么我该如何解决这个问题,或者也许还有另一种方法来检查用户角色?

最佳答案

终于找到解决方案了。

您应该使用 access="hasAnyAuthority('ADMIN') 或将您的角色从“ADMIN”更改为“ROLE_ADMIN”,因为 access="hasRole" 仅适用于首先命名为 ROLE 的角色

关于java - Spring 安全: Check User Role in Freemarker template,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55199200/

相关文章:

java - Android:使用电话号码获取联系人姓名

java - 什么会导致 Java ScheduleService 无法运行?

java - Spring-Data:具有 Java 配置的未知实体

java - 如何找到 Spring Boot 应用程序的入口点?

java - 如何在 Spring 3 MVC REST API 中继承 RequestMappings

java - 由于 Solr 依赖性,Spring Actuator 状态下降

java - JPA 查询针对不在查询中的列抛出 'not found' 错误

java - Spring引导自动配置覆盖自定义(elasticsearchTemplate)配置

java - 如何在 SPQR 中使用 JSON 标量

java - 在复合构建中使用本地 gradle 插件,使用 groovy 约定脚本