我的编程空间,编程开发者的网络收藏夹
学习永远不晚

详解spring与shiro集成

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

详解spring与shiro集成

Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成。

在示例之前,需要导入shiro-spring及spring-context依赖,具体请参考pom.xml。

spring-beans.xml配置文件提供了基础组件如DataSource、DAO、Service组件的配置。

JavaSE应用 

spring-shiro.xml提供了普通JavaSE独立应用的Spring配置:

<!-- 缓存管理器 使用Ehcache实现 --> <bean id="cacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">   <property name="cacheManagerConfigFile" value="classpath:ehcache.xml"/> </bean> <!-- 凭证匹配器 --> <bean id="credentialsMatcher" class=" com.github.zhangkaitao.shiro.chapter12.credentials.RetryLimitHashedCredentialsMatcher">   <constructor-arg ref="cacheManager"/>   <property name="hashAlgorithmName" value="md5"/>   <property name="hashIterations" value="2"/>   <property name="storedCredentialsHexEncoded" value="true"/> </bean> <!-- Realm实现 --> <bean id="userRealm" class="com.github.zhangkaitao.shiro.chapter12.realm.UserRealm">   <property name="userService" ref="userService"/>   <property name="credentialsMatcher" ref="credentialsMatcher"/>   <property name="cachingEnabled" value="true"/>   <property name="authenticationCachingEnabled" value="true"/>   <property name="authenticationCacheName" value="authenticationCache"/>   <property name="authorizationCachingEnabled" value="true"/>   <property name="authorizationCacheName" value="authorizationCache"/> </bean> <!-- 会话ID生成器 --> <bean id="sessionIdGenerator"  class="org.apache.shiro.session.mgt.eis.JavaUuidSessionIdGenerator"/> <!-- 会话DAO --> <bean id="sessionDAO"  class="org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO">   <property name="activeSessionsCacheName" value="shiro-activeSessionCache"/>   <property name="sessionIdGenerator" ref="sessionIdGenerator"/> </bean> <!-- 会话验证调度器 --> <bean id="sessionValidationScheduler"  class="org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler">   <property name="sessionValidationInterval" value="1800000"/>   <property name="sessionManager" ref="sessionManager"/> </bean> <!-- 会话管理器 --> <bean id="sessionManager" class="org.apache.shiro.session.mgt.DefaultSessionManager">   <property name="globalSessionTimeout" value="1800000"/>   <property name="deleteInvalidSessions" value="true"/>   <property name="sessionValidationSchedulerEnabled" value="true"/>   <property name="sessionValidationScheduler" ref="sessionValidationScheduler"/>   <property name="sessionDAO" ref="sessionDAO"/> </bean> <!-- 安全管理器 --> <bean id="securityManager" class="org.apache.shiro.mgt.DefaultSecurityManager">   <property name="realms">     <list><ref bean="userRealm"/></list>   </property>   <property name="sessionManager" ref="sessionManager"/>   <property name="cacheManager" ref="cacheManager"/> </bean> <!-- 相当于调用SecurityUtils.setSecurityManager(securityManager) --> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="staticMethod"  value="org.apache.shiro.SecurityUtils.setSecurityManager"/>   <property name="arguments" ref="securityManager"/> </bean> <!-- Shiro生命周期处理器--> <bean id="lifecycleBeanPostProcessor"  class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/> 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

详解spring与shiro集成

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

详解spring与shiro集成

Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成。在示例之前,需要导入shiro-spring及
2023-05-31

详解Spring Boot 集成Shiro和CAS

请大家在看本文之前,先了解如下知识点: 1、Shiro 是什么?怎么用? 2、Cas 是什么?怎么用? 3、最好有spring基础首先看一下下面这张图: 第一个流程是单纯使用Shiro的流程。 第二个流程是单纯使用Cas的流程。 第三个图是
2023-05-31

SpringBoot集成整合JWT与Shiro流程详解

安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题,这篇文章主要介绍了SpringBoot集成JWT、Shiro框架的使用
2022-12-08

spring boot集成shiro的示例分析

小编给大家分享一下spring boot集成shiro的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!spring boot提供了一个自带的认证框架,同时
2023-05-30

Spring Boot集成Shiro并利用MongoDB做Session存储的方法详解

前言shiro是一个权限框架,具体的使用可以查看其官网 http://shiro.apache.org/ 它提供了很方便的权限认证和登录的功能.而springboot作为一个开源框架,必然提供了和shiro整合的功能!之前项目鉴权一直使用的
2023-05-30

详解spring boot集成RabbitMQ

RabbitMQ作为AMQP的代表性产品,在项目中大量使用。结合现在主流的spring boot,极大简化了开发过程中所涉及到的消息通信问题。首先正确的安装RabbitMQ及运行正常。RabbitMQ需啊erlang环境,所以首先安装对应版
2023-05-31

Spring Boot Redis 集成配置详解

spring Boot 熟悉后,集成一个外部扩展是一件很容易的事,集成Redis也很简单,看下面步骤配置:一、添加pom依赖 org.springframework.boot
2023-05-31

详解Spring MVC 集成EHCache缓存

废话少说,直接上代码:ehcache.xml 文件
2023-05-31

详解Spring-Boot集成Spring session并存入redis

spring Session 提供了一套用于管理用户 session 信息的API和实现。Spring Session为企业级Java应用的session管理带来了革新,使得以下的功能更加容易实现: 编写可水平扩展的原生云应用。 将se
2023-05-31

详解Spring Boot集成MyBatis(注解方式)

MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。spring Boot是能支持快速创建Spring应用的Java框架。本文通过一个例子来学习Spring B
2023-05-31

mybatis集成到spring的方式详解

这篇文章主要介绍了mybatis是如何集成到spring的,将mybatis集成到spring之后,就可以被spring的ioc容器托管,再也不用自己创建SqlSessionFactory 、打开SqlSession等操作,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
2023-05-20

Spring集成Mybatis过程详细讲解

mybatis-plus是一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发、提高效率而生,下面这篇文章主要给大家介绍了关于SpringBoot整合Mybatis-plus案例及用法实例的相关资料,需要的朋友可以参考下
2023-03-19

MyBatis ORM与Spring Cloud集成

MyBatis ORM(Object-Relational Mapping)是一种将关系型数据库中的数据映射到Java对象的技术。而Spring Cloud是一个基于Spring Boot的微服务架构框架,它提供了一系列用于构建分布式系统的
MyBatis ORM与Spring Cloud集成
2024-09-15

Spring与Java邮件的集成

Spring与Java邮件的集成在这篇SpringJavaMail文章中,您将了解与JavaMail的另一个Spring集成。本文将允许您使用SpringFramework接口和类发送和接收电子邮件。您将使用JavaMailAPI发送和接收
2023-06-02

MyBatis ORM与Spring集成要点

MyBatis ORM与Spring集成是Java Web开发中的常见场景,旨在简化数据库操作并提高开发效率。以下是关于MyBatis ORM与Spring集成要点的介绍:集成步骤引入依赖:在Spring Boot项目的pom.xml文件
MyBatis ORM与Spring集成要点
2024-09-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录