首页 > 编程语言 >【JAVA】sec:authorize标签不生效的坑

【JAVA】sec:authorize标签不生效的坑

时间:2022-12-02 16:04:14浏览次数:57  
标签:authorize JAVA 3.0 springsecurity thymeleaf extras sec 版本 springsecurity5

使用springboot+springsecurity+thymeleaf撸一个登录的demo,在处理sec标签的时间打死都出不来效果,网上的解决方法基本都是各种抄,各种降版本的骚操作,根本没有说到关键点。

现象是以下的标签,在访问时两个div是同时出现的,表明isAuthenticated()及isAnonymous()根本没有生效。

<div sec:authorize="isAuthenticated()">
<h1>你已经登录</h1>
</div>
<div sec:authorize="isAnonymous()">
<h1>你未登录</h1>
</div>

需要留意两点:

1.命名空间问题

html文件中需要添加以下命名空间,这是thymeleaf-extras-springsecurity全部版本共通的命名空间,如果你使用如“http://www.thymeleaf.org/thymeleaf-extras-springsecurity5”在IDEA中是没法智能提示的。

<html xmlns:sec="http://www.thymeleaf.org/extras/spring-security">

2.springsecurity版本的问题

这点在github的官网(​​https://github.com/thymeleaf/thymeleaf-extras-springsecurity​​)上说得很清楚,如下:

【JAVA】sec:authorize标签不生效的坑_springsecurity

如果你的springsecurity用的是5.x的版本,那就使用thymeleaf-extras-springsecurity5,然后再看你用的thymeleaf用的是什么版本,如果是Thymeleaf3.0.10+的话,那你thymeleaf-extras-springsecurity5的版本应该选3.0.4.RELEASE(而不是选3.0.4.RELEASE+)。

我遇到的问题是,我的thymeleaf的版本是3.0.15,结果我的设定thymeleaf-extras-springsecurity5是3.1.0.RELEASE,页面一访问就是报500的错误。

~~聊以备忘~~

标签:authorize,JAVA,3.0,springsecurity,thymeleaf,extras,sec,版本,springsecurity5
From: https://blog.51cto.com/joeyliu/5907101

相关文章

  • react18中useCallback与memo使用
     1、父组件Demo3Count组件缓存有两种方法a、  b、    2、子组件    3、效果3.1、初始均渲染  3.2、点击b......
  • Web入门:JavaScript搜索展开
    欢迎来的我的小院,恭喜你今天又要涨知识了!案例内容利用JavaScript实现搜索框的移动展开。演示学习<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF......
  • 银河麒麟桌面操作系统配置java环境变量
    1、使用apt命令下载jdk8sudoapt-getinstallopenjdk-8-jreopenjdk-8-jdk2、使用命令dpkg或whereis查看安装路径,发现无法找到jdk的安装路径3、这个时候通过dpkg-Lop......
  • JAVA面试题--Docker
    Docker1.什么Docker2.Docker与虚拟机有何不同3.什么是Docker镜像4.什么是Docker容器5.Docker容器有几种状态6.DockerFile中最常见的指定是什么?7.DockerFile中的命......
  • JAVA面试题--Elasticsearch
    Elasticsearch1.为什么要使用Elasticsearch?2.Elasticsearch是如何实现Master选举的?3.Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个ma......
  • Java方法详解
    何为方法Java方法是语句的集合,他们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计......
  • JAVA面试题--Jenkins
    Jenkins1.什么是Jenkins?2.Maven,Ant和Jenkins有什么区别?3.Jenkins支持哪些SCM工具?4.在Jenkins中,什么是持续集成?5.Jenkins的优势是什么?6.可以使用哪些命令手动启......
  • java数组
    数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每个数组元素可以通过......
  • JAVA面试题--Kafka
    Kafka1.为什么要使用kafka?为什么要使用消息队列?2.Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么?3.kafka中的broker是干什么的?4.kafka中的zookeeper起到什么作用?可......
  • Java数组JAVA基础班2022122
    1数组的定义publicstaticvoidmain(String[]args){//数组---存储固定类型,固定长度容器。//长度元素的个数//创建数组--语法......