thymeleaf中security的sec:authorize标签不起作用的原因
Posted cswujian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thymeleaf中security的sec:authorize标签不起作用的原因相关的知识,希望对你有一定的参考价值。
环境版本:springboot版本2.1.6.RELEASE、spring-security版本5.1.5.RELEASE、thymeleaf-spring5版本3.0.11.RELEASE
1、错误thymeleaf的html代码如下:
1 <sec:authorize access="hasRole(‘ROLE_USER‘)"> 2 <!--显示内容--> 3 </sec:authorize>
注:改写发为thymeleaf-spring4的写法,thymeleaf-spring5不起作用
2、正确thymeleaf的html代码如下:
1 <div sec:authorize="hasRole(‘ROLE_ADMIN‘)"> 2 <!--显示内容--> 3 </div>
3、还需在html模板引入thymeleaf-spring5命名空间
1 <html xmlns:th="http://www.thymeleaf.org" 2 xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
注:与网上上的有点区别,但是能起作用(我的环境下亲测有效),网上大多数是xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4"与xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5"这种命名空间。以实际网站为主https://github.com/thymeleaf/thymeleaf-extras-springsecurity,主文在网站的底部。
以上是关于thymeleaf中security的sec:authorize标签不起作用的原因的主要内容,如果未能解决你的问题,请参考以下文章
thymeleaf中security的sec:authorize标签不起作用的原因
thymeleaf中security的sec:authorize标签不起作用的原因
使用 Spring Security 的 Thymeleaf 授权不起作用[重复]
在 JavaScript 中的 Thymeleaf 中使用 Spring Security 转义表达式
Spring Security - Thymeleaf - 我可以在 sec:authorize 标签中评估 SPEL 表达式吗?