Shiro安全框架与SpringBoot整合以及Thymeleaf模板的整合开发补充

thymeleaf模板引擎和shiro框架的整合 shiro权限框架,前端验证是为jsp设计的,其中的tag只能用于jsp系列的模板引擎。最近项目使用了thymeleaf作为前端模板引擎,使用HTML文件,没法引入shiro的tag lib,此时如果要使用shiro的话,可以引入 thymeleaf-extras-shiro.jar这个拓展包来曲线实现shiro的前端验证。 在pom.xml中加入如下依赖: com.github. 阅读详情

shiro使用jsp展示用户名补充

前面基本上已经将所有的shiro框架的急促使用,实战开发的所有内容都编写完毕了,接下来就是一些关于shiro框架的一些其他补充,比如:我们要将当前登录的用户放到首页中展示其用户名,该怎么做呢?在我们的jsp页面中,只需要shiro提供的标签就可以做到:

这个标签,就是获取当前登录人的身份信息:

可以看到当前登录人的用户名展示在了首页。

shiro与Thymeleaf整合开发

首先我们新建了一个项目,之后我们将之前的代码copy过来了,然后我们需要加一下thymeleaf的坐标来整合。首先上坐标:
 

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

上面这个就是使用thymeleaf的坐标。

然后我们来看一下将之前的jsp页面改造为html页面:

首先是login.html:

<! doctype html>
<html lang="en" xmlns:th="http:thymeleaf.org">
<head>
    <title>后台管理系统</title>
</head>
<body>
<h1>用户登录</h1>
    <form th:action="@{/user/login}" method="post">
        <input type="text" name="username" placeholder="请输入用户名"><br/>
        <input type="text" name="password" placeholder="请输入密码"><br/>
        请输入验证码:<input type="text" name="code"><img th:src="@{/user/getImage}" alt=""><br/>
        <input type="submit" name="立即登录">
    </form>
<a th:href="@{/user/registerview}">去注册</a>
</body>
</html>

这个首先引入thymeleaf的标签,之后我们将其中的代码改造为th标签。下面是register.html的页面:

<! doctype html>
<html lang="en" xmlns:th="http:thymeleaf.org">
<head>
    <title>后台管理系统</title>
</head>
<h1>用户注册</h1>
<body>
    <form th:action="@{/user/register}">
        <input type="text" name="username" placeholder="请输入用户名"><br/>
        <input type="text" name="password" placeholder="请输入密码"><br/>
        <input type="submit" name="立即注册">
    </form>
</body>
</html>

可以看到相应的我们将页面改为了th的标签,然后我们也将调用的接口也改为了@{}这种写法。

最后我们要来修改index.html页面,怎么修改呢?首先我们要将shiro与thymeleaf的整合坐标引入项目中:

        <dependency>
            <groupId>com.github.theborakompanioni</groupId>
            <artifactId>thymeleaf-extras-shiro</artifactId>
            <version>2.0.0</version>
        </dependency>

这个就是shiro与thymeleaf整合的坐标,并且我们要在前端页面中引入标签shiro针对thymeleaf的整合标签:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">

在此之外我们还要将我们的shiro整合thymeleaf的方言设置在shiroConfig中:

    @Bean(name = "shiroDialect")
    public ShiroDialect shiroDialect(){
        return new ShiroDialect();
    }

只有设置了这段代码我们在首页中的shiro标签才能起作用。

下面我们就来看一下首页页面:

<! doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <title>后台管理系统</title>
</head>
<body>
    <h1>系统主页V1.0</h1>
    <ul>
        <span shiro:hasRole="admin">
        <li>物流管理</li>
        <ul>
            <li><a href="">发货时间</a></li>
            <li><a href="">预计送达</a></li>
            <li><a href="">承运单位</a></li>
        </ul>
        <li>订单管理</li>
        <ul>
            <li><a href="">订单新增</a></li>
            <li><a href="">订单删除</a></li>
            <li><a href="">订单修改</a></li>
        </ul>
        <li>商品管理</li>
        <ul>
            <li><a href="">商品新增</a></li>
            <li><a href="">商品删除</a></li>
            <li><a href="">商品修改</a></li>
        </ul>
        </span>
        <span shiro:hasAnyRoles="user,admin">
        <li>用户管理</li>
        <ul>
            <span shiro:hasPermission="user:add:*">
            <li><a href="">用户新增</a></li>
            </span>
            <span shiro:hasPermission="user:delete:*">
            <li><a href="">用户删除</a></li>
            </span>
            <span shiro:hasPermission="order:update:*">
            <li><a href="">用户修改</a></li>
            </span>
        </ul>
        </span>
    </ul>
    <a th:href="@{/user/logout}">用户登出</a>
</body>
</html>

至此Shiro安全框架的整个的整合开发实现,就完成了。

SpringBoot整合Shiro之Thymeleaf使用Shiro标签 目录`thymeleaf` 模板引擎使用 `shiro` 标签 thymeleaf 模板引擎使用 shiro 标签 我们紧接着 上一篇 文章,我们使用账号 jack 和账号 Tom 来分别登录,在上一篇文章测试中可以看到,这两个账号无论哪一个登录,首页页面都会显示 add 页面和 update 页面两个超链接,而对于这两个账号来说,一个拥有访问 add 页面的权限,一个拥有访问 update 页面的权限。那么问题来了,如何才能根据对应用户的身份角色来显示对应的页面呢?这就要使用 shiro 标签了 .. 阅读详情

相关推荐

SpringBoot与Shiro整合实战教程

本文还有配套的精品资源,点击获取 简介:本文详细介绍了如何将轻量级安全框架Apache Shiro集成到SpringBoot中,包括Shiro与SpringBoot的集成原理、AOP参数打印及日志集成、Thymeleaf模板引擎的使用、SQL数据库操作以及项目结构的分析。同时,涵盖了权限控制、安全性提升和页面权限控制的高级应用,帮助开发者通过实际项目深入理解Web安全控制的...

weixin_35754962的博客 849

SpringBoot基础学习之(二十):Shiro与Thymeleaf的整合版本

spring boot:shiro框架与thymeleaf引擎的结合实现的功能不同的用户具有的权限不同则访问的同一页面但内容不同

m0_52479012的博客 1180

基于 Springboot、Shiro、Mybatis、Thymeleaf 做的后台管理系统(也有传统MVC版本,都在ZIP里)

基于 Springboot、Shiro、Mybatis、Thymeleaf 做的后台管理系统,简单粗暴

spring boot 整合shiro和thymeleaf模板,SSM架构,整体业务框架搭建

一:项目Demo生成及全家桶(系列jar包)选择 一:demo生成: 1.在https://start.spring.io/官网进行项目生成(推荐) 2.在编译器中创建相关类型工程,在pom.xml中添加如下依赖,版本建议选择稳定版,最好不要选择最新版. &lt;parent&gt;         &lt;groupId&gt;org.springframework.boot&lt...

qq_39606632的博客 1120

SpringBoot整合Shiro与Thymeleaf-权限管理实战视频

SpringBoot整合Shiro与Thymeleaf-权限管理实战视频

手把手教你用Qt5打造二次元游戏启动器(附鸣潮同款UI源码)

本文详细介绍了如何使用Qt5框架从零开始构建一个功能完整、UI风格贴近《鸣潮》的二次元游戏启动器。教程涵盖无边框窗口、动态背景、自定义控件绘制、多线程资源加载以及下载管理等核心模块的实现,并提供了可运行的源码参考,帮助C++开发者和Qt爱好者深入掌握现代桌面应用开发技术。

weixin_29291863的博客 264

thymeleaf模板引擎shiro集成框架

shiro权限框架。前端验证jsp设计。间tag它只能用于jsp系列模板引擎。使用最近项目thymeleaf作为前端模板引擎,采用HTML档,未出台shiro的tag lib,假设你想利用这段时间shiro如果,可以引入 thymeleaf-extras-shiro.jar这个拓展包来曲线实现shiro的前端验证。 在pom.xml中增加例如以下依赖: &lt;dependen...

weixin_34320724的博客 222

ZYNQ专题-7020驱动KSZ9031 PHY芯片

之所以有这篇文章,得益于Alinx的开发板。

Anitawen的博客 4961

Springboot整合Shiro框架入门

Springboot中集成Shiro框架1、快速开始demo2、Springboot集成Shiro2.1、环境搭建2.2、shiro的拦截2.3、shiro的认证2.4、整合mybatis2.5、shiro进行授权2.6、shiro整合thymeleaf 1、快速开始demo 来到shiro的官网:shiro官方网站: 下载官方在git仓库上提供的源码,下载后解压: 官方提供了在多种场景下使用的demo,等一下会用到sample里面的东西。下面直接按官方推荐的10分钟入门demo进行测试。 创建一

qq_42640067的博客 2152

Ubuntu视频播放器怎么选?VLC、mpv、SMPlayer硬解与字幕配置指南

在Linux系统中,视频播放体验取决于播放器、解码器与显卡驱动的协同。硬件解码通过VA-API或VDPAU将解码任务交给GPU,能显著降低CPU占用,解决4K高码率视频卡顿问题。对于Ubuntu用户,合理配置解码环境与播放器,可流畅播放HEVC、多音轨及ASS特效字幕视频。无论是日常观影、番剧追更还是家庭影院场景,选择合适的播放器并正确启用硬解,都是提升体验的关键。本文围绕Ubuntu平台,详解VLC、mpv、SMPlayer等播放器的安装、硬解配置与常见问题排查,帮助你在Linux上获得流畅的本地视频播放

weixin_33801856的博客 506

即插即用系列(代码实践) | CVPR 2025 FDConv:频域动态卷积,打破密集预测任务的参数效率瓶颈

本文提取自 CVPR 2025 的最新底层算子革新论文《Frequency Dynamic Convolution for Dense Image Prediction》。近年来,动态卷积(Dynamic Convolution)通过融合多个并行卷积核极大地提升了模型性能,但研究表明:这些并行卷积核在频域上的响应高度相似,导致了极其严重的参数浪费,且缺乏对不同频率特征的自适应能力。本文复现了该网络的核心架构——FDConv(频率动态卷积)。该方案创造性地在傅里叶域(Fourier Domain)中学习固定参

分享顶会顶刊论文即插即用模块 111

SpringBoot2.0,Thymeleaf与Shiro整合

前言 在2017年年底发布的一篇博客中介绍了前后端分离的场景下,springboot与shiro整合,时隔一年多,springboot早已升级到2.X,前后端分离也慢慢回归一体化,于是有了这样一篇博客,本文主要介绍在前后端不分离的场景下,springboot2与shiro以及thymeleaf模板引擎的整合。另外,在之前的文章中很多评论提到的问题,在本文也会一并解答。 正文 先介绍本项目中使...

Ian的博客 9061

2026年全国青少年信息素养大赛算法应用主题赛C++样题及答案解析

2026年全国青少年信息素养大赛算法应用主题赛C++样题

王老师青少年编程 3714

SpringBoot整合shiro整合thymeleaf详细示例

SpringBoot整合shiro+thymeleaf详细示例准备工作:1.所需的maven依赖2.搭建测试项目2.1创建后台结构和所需类2.2 创建数据库2.3 编写配置文件2.4 编写pojo,dao,service包下的类方法2.5 controller层以及前端页面3.编写核心配置类开始测试: 这是一片从头到尾的详细整合演示,让你直接复制就能运行的代码。 准备工作: 1.所需的maven依...

chengweimam的博客 1594

【DRAM存储器五十六】LPDDR5介绍--WCK2CK Leveling和Read gate training

简述LPDDR5 WCK2CK leveling和read gate traning基本原理与操作步骤

highman110的博客 8787

【QT开发教程】如何在Qt中使用Protobuf进行高效数据序列化

Protocol Buffers(Protobuf)是Google开发的一种语言中立、平台中立、可扩展的序列化机制,常用于数据交换和存储。Qt作为一个跨平台的C++图形用户界面应用框架,可以与Protobuf结合使用,实现高效的数据序列化和反序列化。本文将介绍如何在Qt中集成和使用Protobuf,包括基本概念、安装步骤、使用示例以及实际应用。

科技改变人类,技术成就未来 1439

【笔记】springBoot快速 整合shiro-redis和thymeleaf

在spring boot时代的我们,要站在巨人的肩膀上快速实现springboot整合shiro-redis功能

深渊码头 3658

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SpringBoot实现基于shiro安全框架的,配合thymeleaf模板引擎的用户认证和授权

SpringBoot实现基于shiro安全框架的,配合thymeleaf模板引擎的用户认证和授权,及其思路介绍和流程详解1 用户、角色和权限的概念及关系2 shiro安全框架部分基本功能2.1 用户认证2.2 用户授权3 不同用户系统功能的差异性实现3.1 准备工作-引入shiro相关依赖3.2 基于代码的shiro框架的简单架构与运行机制介绍3.3 具体shiro环境配置代码3.3.1 shiro环境配置 - ShiroConfig.java3.3.2 自定义Realm类实现 - UserRealm.ja

New_joined_lion的博客 726

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【shiro基础】springboot + shiro整合thymeleaf

springboot 快速集成 shiro ,通过自定义realm,完成基于数据库(mysql)的权限认证及鉴权,并结合thymeleaf 完成认证授权过程

一只懂代码不懂人情世故的源码爱好猿 2121

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

springboot、thymeleaf集成shiro

001、文档内容介绍 使用 springboot 与 shiro 进行整合使用,实现强大的用户权限管理,其中涉及如何完成用户权限认证(即用户登录),用户授权,thymeleaf 页面整合 shiro 权限标签等知识点。 002、springboot 与 shiro 框架简介 1)springboot: ①由来 spring 的诞生是 Java 企业版的轻量级代替品。无需开发重量级的 EJB,spring 为企业级 Java 开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的 Java 对象(

weixin_45528849的博客 680

【SpringBoot】SpringBoot + Shiro + Mybatis + Thymeleaf 整合

在 SpringBoot 工程中,通过集成 Shiro 安全框架来完成对当前登录人的权限的控制。 需求如下: 一个页面 index.html 上有 ADD、UPDATE 链接,点击 ADD 链接,则跳转到 add.html 页面;UPDATE 链接同理。现在有两个用户:root、tom。root 用户只有 ADD 访问与操作权限,tom 用户则只有 UPDATE 访问与操作权限。 如下图: 页面内容如下(没有权限判断): root 用户登录: 当然,这个 ADD 链接是可以点击的,点击之后,便显示

sco5282的博客 1398

SpringBoot(24)Shiro整合thymeleaf

1.导入依赖 类似SpringSercurity <!--shiro整合thymeleaf--> <dependency> <groupId>com.github.theborakompanioni</groupId> <artifactId>thymeleaf-extras-shiro</artifactId> <version>2.0.0</version> </depende

OVO_LQ_Start的博客 315

SpringBoot与Shiro整合详解

Apache Shiro 是一个Java的安全(权限)框架 ------- 和SpringSecurity一样是安全框架 2. Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSe环境. 3. Shiro 可以完成: 认证,授权,加密,会话管理,Web集成,缓存等...

Zero摄氏度的博客 2506

springboot,shiro,thymeleaf,整合

1,目录结构如下 2.导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency>...

vtrbrtsghu的博客 187

Spring Boot整合Shiro + Springboot +vue

目录 02 Spring Boot整合Shiro p1.shiro概述 1 什么是Shiro 2 Shiro核心组件 p2.Shiro实现登录认证 AccountRealm.java QueryWrapper 类名和表名是一一对应的 mapper报错解决 测试 pom.xml p3.Shiro实现请求授权 配置类 ShiroConfig **编写认证和授权规则: controller p4.Shiro整合Thymeleaf --认证完成,开始授权 13:52

weixin_41290863的博客 4043
上一篇: Shiro安全框架(Shiro与SpringBoot整合开发)之图片验证码(五)
JavaJieRui
博客等级 码龄7年 10粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值