Spring Boot+Security+Thymeleaf sec:authorize-url 标签不生效

用 SpringBoot + SpringSecurity + Thymeleaf 搭建了一个应用,发现 Thymeleaf sec:authorize-url 以及 sec:authorize="hasRole('ROLE_ADMIN')" 标签都不生效。
后来发现是 Maven 引入 thymeleaf-extras-springsecurity4 时没有指定版本号,直接使用是SpringBoot的版本。

解决方案:

在maven中把 thymeleaf-extras-springsecurity4 改成

<!--springsecurity4 要指定3.0以上版本,否则权限标签可能无法工作-->
<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-springsecurity4</artifactId>
    <version>3.0.2.RELEASE</version>
</dependency>

然后 thymeleaf 模板中就可以这样使用了:

<div sec:authorize="hasRole('ROLE_ADMIN')">
  This content is only shown to administrators.
</div>


<div sec:authorize="hasRole('ROLE_USER')">
  This content is only shown to users.
</div>

但是又发现一个问题。在新版的springboot 2.1.x 中也会导致标签失效,暂时先用2.0.7及以下吧。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值