手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭

解决Spring Boot 3+和Spring Security 6+框架下thymeleaf的sec:authorize等标签无效问题

首先需要提醒的是,Thymeleaf Extras模块不是Thymeleaf核心的一部分(因此遵循自己的版本模式),但得到了Thymeleaf团队的全力支持。

所以最重要的是要引入Thymeleaf Extras模块,从官方的Github仓库可以看出不同版本Spring Security和Thymeleaf要使用对应的Thymeleaf Extras版本,Spring Security 5要用thymeleaf-extras-springsecurity5、Spring Security 6要用thymeleaf-extras-springsecurity6,2.1.3.RELEASE版本对应Thymeleaf 2.1.2+、3.0.4.RELEASE版本对应Thymeleaf 3.0.10+。

使用Spring Boot 2+的就用Spring Security 5要用thymeleaf-extras-springsecurity5,使用Spring Boot 3+的就用Spring Security 6要用thymeleaf-extras-springsecurity6。

造成sec:authorize等标签无效的问题主要是Thymeleaf Extras模块的版本对不上,所以,前端页面可加可不加命名空间,也不用在SecurityFilterChain过滤器中做特殊配置,最重要的是要能看到引入的依赖包。

针对所有版本
<html xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
thymeleaf-extras-springsecurity5
<html xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
thymeleaf-extras-springsecurity6
<html xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity6">

从Maven Repository可以看到目前Thymeleaf Extras Springsecurity 5和6最新版本都是3.1.2.RELEASE,最后附上Maven和Gradle两个版本引入Thymeleaf Extras Springsecurity的方法,当然还有thymeleaf-extras-springsecurity4、thymeleaf-extras-springsecurity3等,详情访问Thymeleaf Extras仓库

//Maven版
<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-springsecurity6</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>

//Gradle版
implementation "org.thymeleaf.extras:thymeleaf-extras-springsecurity6:3.1.2.RELEASE"

展开阅读全文


上一篇:

下一篇:

服务器又要到期了鼓励一下吧
您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
关注我的公众号为您分享各类有用信息
分享录多端跨平台系统