`

162. Spring Boot 在thymeleaf使用shiro标签

阅读更多

 

 

需求缘起:

shirojsp配合使用的时候,有针对jspshiro标签,当我们使用的是thymeleaf也是可以使用shiro标签的,这就是本节要解决的问题。

本节大纲:

(1)添加依赖
(2)在ShiroConfiguration添加配置
(3)在index方法中存放userInfo
(4)调整index.html

 

       接下来看下具体的内容:

1)添加依赖

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

 

 

2)在ShiroConfiguration添加配置

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

 

 

3)在index方法中存放userInfo对象

       修改HomeControllerindex方法:

    @RequestMapping(value={"/","/index"})
    public String index(Map<String,Object> map){
       System.out.println("HomeController.index()");
       //获取到用户信息;
       Subject subject  = SecurityUtils.getSubject();
       UserInfo ui = (UserInfo) subject.getPrincipal();
       map.put("userInfo",ui);
       return "/index";
    }

 

 

4)调整index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Insert title here</title>
</head>
<body>
   
    <h3>主界面--<span th:text="'登录账号:'+${userInfo.username}+'--名称:'+${userInfo.name}">user</span></h3>
    <a href="/logout">退出</a>
    <hr />
   
   
    <!-- 这些实际从数据库中进行查询,可以在 -->
    <h5>这是通过shiro标签的方式;</h5>
    <p shiro:hasRole="admin">
           <a>管理员角色</a>
    </p>
   
    <p shiro:hasPermission="userInfo:query">
           <a href="/userInfo/userList">用户查询</a>
    </p>
    <p shiro:hasPermission="userInfo:add">
           <a href="/userInfo/userAdd">用户添加</a>
    </p>
 
 
       <hr />
    <h5>从数据库加载菜单</h5>
    <div th:each="roleList:${userInfo.roleList}">
       <span th:text="${roleList.description}"></span>
       <!-- 角色下所有的所有菜单,实际开发中,只需要获取所有的权限就可以了,无所谓是哪个角色的; -->
       <p style="color:blue;margin-left:30px;" th:each="permission:${roleList.permissions}">
           <a th:href="${permission.url}" th:text="${permission.name}"></a>
       </p>
    </div> 
 
</body>
</html>

 

 

 à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr

分享到:
评论
11 楼 hhht_yyaa 2018-03-14  
小弱鸡 写道
小弱鸡 写道
林祥纤 写道
小弱鸡 写道
版本号应该看谁和谁的,小白,望博主不要介意


我猜很有可能是没有下载下来jar包!你看看本地存在不

我在maven的扩展包里确实没有找到这个jar,那应该怎么弄

这个jar不存在,去哪找呢


http://blog.csdn.net/qq_31591883/article/details/76638848
关于这个抽象类找不到的问题参考这个链接,有解决办法
10 楼 小弱鸡 2017-12-21  
小弱鸡 写道
林祥纤 写道
小弱鸡 写道
版本号应该看谁和谁的,小白,望博主不要介意


我猜很有可能是没有下载下来jar包!你看看本地存在不

我在maven的扩展包里确实没有找到这个jar,那应该怎么弄

这个jar不存在,去哪找呢
9 楼 小弱鸡 2017-12-21  
林祥纤 写道
小弱鸡 写道
版本号应该看谁和谁的,小白,望博主不要介意


我猜很有可能是没有下载下来jar包!你看看本地存在不

我在maven的扩展包里确实没有找到这个jar,那应该怎么弄
8 楼 林祥纤 2017-12-19  
小弱鸡 写道
版本号应该看谁和谁的,小白,望博主不要介意


我猜很有可能是没有下载下来jar包!你看看本地存在不
7 楼 小弱鸡 2017-12-19  
版本号应该看谁和谁的,小白,望博主不要介意
6 楼 小弱鸡 2017-12-19  
没有的,那应该怎么解决
5 楼 林祥纤 2017-12-19  
小弱鸡 写道
博主啊,从小白看起,真切感觉非常棒!但是在这一节出了问题,完全按照步骤老的。
Error creating bean with name 'shiroDialect' defined in class path resource [cn/springboot/config/ShiroConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [at.pollux.thymeleaf.shiro.dialect.ShiroDialect]: Factory method 'shiroDialect' threw exception; nested exception is java.lang.NoClassDefFoundError: org/thymeleaf/processor/attr/AbstractTextChildModifierAttrProcessor

望博主给看看,蟹蟹


NoClassDefFoundError: org/thymeleaf/processor/attr/AbstractTextChildModifierAttrProcessor

1、看看版本号是否一致的。
2、看看本地是否存在jar文件;
4 楼 小弱鸡 2017-12-19  
博主啊,从小白看起,真切感觉非常棒!但是在这一节出了问题,完全按照步骤老的。
Error creating bean with name 'shiroDialect' defined in class path resource [cn/springboot/config/ShiroConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [at.pollux.thymeleaf.shiro.dialect.ShiroDialect]: Factory method 'shiroDialect' threw exception; nested exception is java.lang.NoClassDefFoundError: org/thymeleaf/processor/attr/AbstractTextChildModifierAttrProcessor

望博主给看看,蟹蟹
3 楼 小弱鸡 2017-12-19  
 
2 楼 林祥纤 2017-10-24  
zhmailm 写道
从头看到尾,不仅看到lZ知识的透彻,代码直接以达到目的为引,一步一步的解决问题。而且能坚持折磨长时间去更新,这跟更值得我去学习!
希望LZ继续保持!在这里给你加加油!


感谢,很感谢,看来你是看的很感悟了,不错,不错!
1 楼 zhmailm 2017-10-24  
从头看到尾,不仅看到lZ知识的透彻,代码直接以达到目的为引,一步一步的解决问题。而且能坚持折磨长时间去更新,这跟更值得我去学习!
希望LZ继续保持!在这里给你加加油!

相关推荐

    springboot_thymeleaf_shiro.zip

    标题 "springboot_thymeleaf_shiro.zip" 暗示了这个压缩包是一个整合了Spring Boot、Thymeleaf和Shiro的项目实例。这个项目主要是为了实现基于Web的权限控制,通过Spring Boot的便捷性,Thymeleaf的模板引擎功能,...

    用于Thymeleaf的Shiro HTML标签扩展

    功能描述: 用于在页面模板中应用Shiro框架提供的功能,例如权限验证、角色... 框架依赖:Spring/Spring Boot、Thymeleaf、Shiro 也可以在github上获取最新源码:https://github.com/edenyin307/thymeleaf-shiro-extags

    spring boot+thymeleaf+mybatis+mysql

    在本项目中,"spring boot+thymeleaf+mybatis+mysql" 是一个常见的Web应用开发框架组合,尤其适合初学者快速构建基于Java的Web应用程序。以下将详细阐述这四个关键技术及其整合过程中的关键知识点。 1. Spring Boot...

    springboot+thymeleaf+shiro标签1

    Thymeleaf-extras-shiro库则提供了Thymeleaf和Apache Shiro的集成,使得在Thymeleaf模板中可以直接使用Shiro的安全特性,如`sec:authorize`标签进行权限控制。 3. **Apache Shiro**: Apache Shiro是一个强大且...

    Spring Boot整合Shiro搭建权限管理系统

    在本文中,我们将探讨如何利用Spring Boot和Apache Shiro构建一个权限管理系统。Spring Boot以其便捷的启动和配置方式,使得快速开发变得简单。而Shiro则是一个轻量级的安全框架,用于实现用户认证和授权。 首先,...

    spring boot+mybatis+thymeleaf+apache shiro开发面向学习型的后台管理系统

    使用官方推荐的thymeleaf做为模板引擎,shiro作为安全框架,主流技术,“一网打尽” 基于注解的sql写法,零XML,极简配置,一键前后台代码生成功能简介 1. 用户管理 2. 角色管理 3. 部门管理 4. 菜单管理 5. 系统...

    spring boot+redis+shiro+mybatis+thymeleaf整合框架

    spring boot+redis+shiro+mybatis+thymeleaf整合框架,引入了缓存,可以使整个项目能快速访问资源,并且提供shiro安全框架保证了资源的安全性。spring boot,mybatis则是现在开发的最新框架技术。并且引入了...

    整合mybatis-spring-boot-2.0-shiro-thymeleaf

    在本项目"整合mybatis-spring-boot-2.0-shiro-thymeleaf"中,开发者提供了一个简短但全面的教程,适用于那些刚开始接触这些技术的初学者。这个项目结合了四个关键组件:MyBatis、Spring Boot、Shiro以及Thymeleaf,...

    Spring Boot 整合 Shiro+Thymeleaf过程解析

    在 Spring Boot 应用程序中整合 Shiro 和 Thymeleaf 需要将 Shiro 和 Thymeleaf 整合到同一个应用程序中。首先,需要添加 Shiro 和 Thymeleaf 相关的依赖项。然后,需要编写配置类来配置 Shiro 的安全管理器和 ...

    spring boot+mybatis+thymeleaf+apache shiro开发面向学习型的后台管理系统BootDo

    spring boot+mybatis+thymeleaf+apache shiro开发面向学习型的后台管理系统BootDo,参考地址 http://blog.csdn.net/zhaokejin521/article/details/78719722

    理财管理(Spring boot+thymeleaf)

    该毕业设计使用了当前较为流行的spring boot,spring,spring mvc,mybatis,shiro框架分页处理使用了pagehelper进行操作 前台使用了模板语言thymeleaf,界面较为炫酷,适合年轻朋友。 开发工具采用的是IDEA。 该...

    SpringBoot+Mybatis+Thymeleaf整合Shiro入门

    6. **集成Thymeleaf和Shiro**:在Thymeleaf模板中,我们可以使用Thymeleaf的条件表达式结合Shiro标签库,实现动态展示页面内容,根据用户权限决定是否显示某些元素。 7. **测试**:创建用户并登录,通过不同的角色...

    理财管理(spring boot+thymeleaf)

    该毕业设计使用了当前较为流行的spring boot,spring,spring mvc,mybatis,shiro框架分页处理使用了pagehelper进行操作,前台使用了模板语言thymeleaf,界面较为炫酷,适合年轻朋友。开发工具采用的是IDEA。 该...

    Spring Boot整合Shiro搭建权限管理系统.docx

    在开始介绍如何使用Spring Boot整合Shiro搭建权限管理系统之前,我们首先简要回顾一下Spring Boot的基础知识。 ##### 1. 新建一个Maven工程 为了创建一个Spring Boot项目,首先需要使用Maven或者Gradle作为构建...

    SpringBoot快速整合ShiroRedis与Thymeleaf(完整版)免费下载

    在本资源中,我们主要探讨如何将Spring Boot与Shiro安全框架、Redis缓存系统以及Thymeleaf模板引擎进行整合,以构建一个高效的后端应用程序。以下是对这些技术及整合过程的详细说明: 1. **Spring Boot**: Spring...

    Spring boot 示例 官方 Demo

    spring-boot-shiro:springboot 整合shiro rbac示例 spring-boot-file-upload:使用Spring Boot 上传文件示例 spring-boot-fastDFS:Spring Boot 整合FastDFS示例 spring-boot-actuator:Spring Boot Actuator 使用...

    Spring Boot整合Shiro搭建权限管理系统 (2).pdf

    import org.apache.shiro.spring.config.ShiroAnnotationProcessorConfiguration; import org.apache.shiro.spring.config.ShiroAutoConfiguration; import org.apache.shiro.spring.config....

    理财管理(spring boot+thymeleaf).zip

    使用了当前较为流行的spring boot,spring,spring mvc,mybatis,shiro框架分页处理使用了pagehelper进行操作,前台使用了模板语言thymeleaf,界面较为炫酷,适合年轻朋友。开发工具采用的是IDEA。

    spring-boot-book

    6. 使用Shiro,Shiro是一个安全框架,Spring Boot可以与Shiro集成,实现安全控制。 7. 和数据库的交互,Spring Boot支持多种数据库,包括Mybatis,Jpa,MongoDB等。 8. 和中间件的交互,Spring Boot支持多种中间件...

Global site tag (gtag.js) - Google Analytics