Spring Security --- Thymeleaf 中 Spring Security 的使用

目录

初步

获取属性

权限判断


  • 初步

  • Spring Security可以在一些视图技术中进行控制显示效果
  • 例如:JSP或Thymeleaf
  • 在非前后端分离且使用Spring Boot的项目中多使用Thymeleaf作为视图展示技术
  • Thymeleaf对Spring Security的支持都放在thymeleaf-extras-springsecurityX中
  • 所以需要在项目中添加此jar包的依赖和thymeleaf的依赖

  • 在html页面中引入thymeleaf命名空间和security命名空间

  • 获取属性

  • 可以在html页面中通过 sec:authentication=""获取UsernamePasswordAuthenticationToken中所有getXXX的内容
  • 包含父类中的getXXX的内容
  • 根据源码得出下面属性:
    • name:登录账号名称
    • principal:登录主体,在自定义登录逻辑中是 UserDetails
    • credentials:凭证
    • authorities:权限和角色
    • details:实际上是 WebAuthenticationDetails 的实例;可以获取 remoteAddress(客户端 ip) 和 sessionId(当前sessionId)
  • 实现步骤:
  • 在html中编写下面内容,测试获取到的值

  • 编写控制器:
  • thymeleaf页面需要控制转发,在控制器类中编写下面方法

  • 权限判断

  • 在html页面中可以使用sec:authorize="表达式"进行权限控制,判断是否显示某些内容
  • 表达式的内容和access(表达式)的用法相同
  • 如果用户具有指定的权限,则显示对应的内容
  • 如果表达式不成立,则不显示对应的元素
  • 不同权限的用户显示不同的按钮:
    • 设置用户角色和权限
    • 设定用户具有admin,/insert,/delete权限ROLE_abc角色

    • 控制页面显示效果
    • 在页面中根据用户权限和角色判断页面中显示的内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/29456.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据清洗、数据处理入门!R语言我来了,数据不再零散!

一、引言 数据清洗和预处理是数据科学中必不可少的一部分,它们能够帮助我们准确地分析和预测未来趋势。如果你曾经尝试过进行分析或建模,你会发现数据往往不像我们所想象的那样干净、整洁。需要对数据进行仔细的检查、清理和处理,才能真正把…

VR全景营销颠覆传统营销模式,让商企博“出圈”

在激烈的市场竞争中,营销成为了商企博“出圈”的重要课题,随着5G的到来,VR全景迈入了快速发展时期,随着VR全景的普及应用,商业领域也逐渐引入了VR全景营销。 时下,商企的营销是越发困难,传统的营…

git安装以及git小乌龟使用

一、下载git 打开git官网地址:https://git-scm.com/进行下载 下载完安装,一直next就好,如果愿意就可以改下安装路径,改在d盘。 具体可以参考:git安装教程 二、安装完下载小乌龟以及语言包 下载地址:小乌龟…

redis到底是怎么样进行渐进式Rehash的

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。那么redis的底层是如何来存储数据的呢? 一、redis如何在存储大量的key时候,查询速度还能接近O(1)呢&#xf…

DAY 77 [ Ceph ] 基本概念、原理及架构

前言 在实现容器化的初期,计划使用 Ceph 作为容器的存储。都说存储是虚拟化之母,相对容器来说,存储也起到了至关重要的作用。 选用 Ceph 作为容器化存储理由如下: 方便后期横向扩展;Ceph能够同时支持快存储、对象存…

SF授权系统源码 V3.7全开源无加密版本

🎉 有需要的朋友记得关赞评,文章底部来交流!!! 🎉 ✨ 源码介绍 2023全新SF授权系统源码 V3.7全开源无加密版本。网站搭建很简单,大致看来一下应该域名解析后上传源码解压,访问域名/i…

全志V3S嵌入式驱动开发(u盘写读)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于现在的soc来说,基本上usb是标配的。它一般需要支持usb host、device和otg三种模式。简单解释下,host模式,就…

STM32F407移植1588v2(ptpd)

硬件: STM32F407ZGT6开发板 软件: VSCode arm-none-eabi-gcc openOCD st-link 在github搜到一个在NUCLEO-F429ZI开发板上移植ptpd的example,因为和F407差别很小,所以就打算用这个demo移植到手头的开发板上。因为目前只需要…

ASP.NET MVC下的四种验证编程方式

ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定。总地来说,我们可以采用4种不同的编程模式来进行针…

DevExpress WPF功能区控件,更轻松创建应用工具栏!(上)

DevExpress WPF的Ribbon、Toolbar和Menus组件以Microsoft Office为灵感,针对WPF开发人员进行了优化,可帮助您在段时间内模拟当今最流行的商业生产力应用程序。 DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业…

百度CDN配置TLS

概述 为了保障您互联网通信的安全性和数据完整性,百度智能云CDN提供TLS版本控制功能。您可以根据不同域名的需求,灵活地配置TLS协议版本。 TLS(Transport Layer Security)即安全传输层协议,在两个通信应用程序之间提…

LeetCode·每日一题·1177. 构建回文串检测·前缀和

作者:小迅 链接:https://leetcode.cn/problems/can-make-palindrome-from-substring/solutions/2309940/qian-zhui-he-zhu-shi-chao-ji-xiang-xi-by-n3ps/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获…

全景浏览技术在虚拟现实中的应用

随着虚拟现实技术的发展,全景浏览技术越来越受到人们的关注。全景浏览技术是一种可以将场景全方位呈现给用户的虚拟现实技术,可以为用户带来身临其境的视觉和听觉体验。本文将介绍全景浏览技术在虚拟现实中的应用以及如何利用代码实现这些应用。 一、全…

第五节 利用Ogre 2.3实现雨,雪,爆炸,飞机喷气尾焰等粒子效果

本节主要学习如何使用Ogre2.3加载粒子效果。为了学习方便,直接将官方粒子模块Sample_ParticleFX单独拿出来编译,学习如何实现粒子效果。 一. 前提须知 如果参考官方示例建议用最新版的Ogre 2.3.1。否则找不到有粒子效果的示例。不要用官网Ogre2.3 scri…

6.17黄金反弹是否到顶,下周开盘如何布局

近期有哪些消息面影响黄金走势?下周黄金多空该如何研判? ​黄金消息面解析:黄金周五(6月16日)小幅收高,但在触及5月以来最低盘中水准后本周以下跌收官。美市尾盘,现货黄金收报1957.68美元/盎司,下跌0.19美…

vmware设置centos客户机和windows宿主机共享文件夹

一、安装内核 kernel-devel 包 yum install gcc yum install kernel-devel-$(uname -r) 注意,如果自己修改过内核版本,需要确保 uname -r 显示的版本和实际使用的内核版本一致。 二、安装 vmware-tools 在vmware上点击菜单:虚拟机->安…

使用Nextcloud搭建私人云盘,并内网穿透实现公网远程访问

文章目录 摘要视频教程1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 转载自cpolar极点云的文章:使用Nextcl…

LabVIEW开发基于Web数字图像处理

LabVIEW开发基于Web数字图像处理 数字图像处理已在各个领域找到了应用,并已成为一个高度活跃的研究领域。实际实施和实验在教育和研究活动中起着不可或缺的作用。为了方便快捷地实施数字图像处理操作,设计了一个先进的基于Web的数字图像处理虚拟实验室&…

一文搞定C++异常机制(附代码+详细解析)

C异常 1.引文C语言传统的处理错误的方式: 2.C异常概念3.异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出异常捕获中的内存泄漏问题 3.3异常安全3.4异常规范 4.异常优缺点5.总结: 1.引文 C语言传统的处理错误的方式: 终止程序&#xff0c…

python---列表和元组(5)

元组的相关操作 元组的创建 创建元组的时候指定初始值 元组中的元素也可以是任意类型 通过下标访问元组中的元素 下标从0开始到len-1结束 通过切片来获取元组中的一个部分 使用for循环来遍历元组 使用in 判定元素是否存在 使用index查找元素下标 使用来拼接两个元组 元…