shiro+springmvc的环境搭建

在IntelliJ IDEA上搭建Spring+SpringMVC+Mybatis+Shiro环境搭建(一) IntelliJ IDEA 下载地址:http://www.jetbrains.com/idea/ 都是最新版本的,只要破解一个版本,其他版本可以共用,具体参考百度O(∩_∩)O Maven Reposity Maven仓库地址:http://mvnrepository.com/ 在IDEA上新建一个Project ,然后选择Maven,最后选择webapp    图1.1 第二页 阅读详情

1、所需要的jar包

	<!-- springmvc环境搭建所需jar -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.0.2.RELEASE</version>
    </dependency>
    <!-- ehcache -->
    <dependency>
      <groupId>net.sf.ehcache</groupId>
      <artifactId>ehcache-core</artifactId>
      <version>2.4.3</version>
    </dependency>
	<!-- shiro -->
    <dependency>
      <groupId>org.apache.shiro</groupId>
      <artifactId>shiro-all</artifactId>
      <version>1.3.2</version>
    </dependency>
    
    <!-- 配置slf4j-api -->
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <version>2.10.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.10.0</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-nop</artifactId>
      <version>1.7.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-web</artifactId>
      <version>2.9.1</version>
    </dependency>

2、配置文件

applicationContext.xml Spring容器
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
                            http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/mvc
                            http://www.springframework.org/schema/mvc/spring-mvc.xsd
                            http://www.springframework.org/schema/context
                            http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="com.shiro.test">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
    </context:component-scan>

<!-- 1、配置SecurityManage -->
    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager" >
    <!-- 配置缓存管理器 -->
    <!--        <property name="cacheManager" ref="cacheManager"></property>-->
    <!-- 认证授权 -->
<!--        <property name="realm" ref="jdbcRealm"></property>-->
        <!-- 配置多个realm -->
        <!--
        <property name="realms">
            <list>
                <ref bean="jdbcRealm"></ref>
            </list>
        </property>
        -->
    </bean>
    <!--
    配置 CacheManager.
    需要加入 ehcache 的 jar 包及配置文件.
    -->

<!--    <bean id="cacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">-->
    <!-- 缓存配置文件 -->
  <!--      <property name="cacheManagerConfigFile" value="classpath:ehcache.xml"/>-->
<!--    </bean>-->

    <!--
    配置 Realm
    直接配置实现了 org.apache.shiro.realm.Realm 接口的 bean
    -->
<!--    <bean id="jdbcRealm" class="com.shiro.test.realm.MyRealm">-->
        <!-- 通过配置credentialsMatcher属性来,替换realm的加密算法 -->
<!--        <property name="credentialsMatcher">-->
<!--            <bean class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">-->
<!--                &lt;!&ndash; 指定加密方式 &ndash;&gt;-->
<!--                <property name="hashAlgorithmName" value="MD5"></property>-->
<!--                &lt;!&ndash; 指定加密次数 &ndash;&gt;-->
<!--                <property name="hashIterations" value="100"></property>-->
<!--            </bean>-->
<!--        </property>-->
<!--    </bean>-->

    <!--
    配置 LifecycleBeanPostProcessor. 可以自定的来调用配置在 Spring IOC 容器中 shiro bean 的生命周期方法.
    -->
    <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
    <!--
    启用 IOC 容器中使用 shiro 的注解. 但必须在配置了 LifecycleBeanPostProcessor 之后才可以使用.
    -->
    <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
          depends-on="lifecycleBeanPostProcessor"/>
    <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
        <property name="securityManager" ref="securityManager"/>
    </bean>

    <!--
    配置 ShiroFilter.
    id 必须和 web.xml 文件中配置的 DelegatingFilterProxy 的 <filter-name> 一致.
                      若不一致, 则会抛出: NoSuchBeanDefinitionException. 因为 Shiro 会来 IOC 容器中查找和 <filter-name> 名字对应的 filter bean.
    -->
    <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <property name="securityManager" ref="securityManager"/>
        <property name="loginUrl" value="/to_login"/>
        <property name="successUrl" value="/list"/>
        <property name="unauthorizedUrl" value="/unauthorized"/>
        <!--
            配置哪些页面需要受保护.
            以及访问这些页面需要的权限.
            1). anon 可以被匿名访问
            2). authc 必须认证(即登录)后才可能访问的页面.
            3). logout 登出.
            4). roles 角色过滤器
        -->

 <!--       <property name="filterChainDefinitions">
            <value>
                /login = anon
                /to_login = anon
                /logout = logout
                /unauthorized = anon

                /** = authc
            </value>
        </property>-->
    </bean>

</beans>
dispatcher-servlet.xml Springmvc容器
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
                            http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/mvc
                            http://www.springframework.org/schema/mvc/spring-mvc.xsd
                            http://www.springframework.org/schema/context
                            http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="com.shiro.test" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
    </context:component-scan>
<!-- 视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/view/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

    <mvc:view-controller path="/login" view-name="login"></mvc:view-controller>

    <mvc:annotation-driven></mvc:annotation-driven>
    <mvc:default-servlet-handler></mvc:default-servlet-handler>


</beans>
web.xml web配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id="WebApp_ID" version="2.5">

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>

  <!-- log4j日志输出 -->
  <listener>
    <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
  </listener>

  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:dispatcher-servlet.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!--
  配置  Shiro 的 shiroFilter.
  DelegatingFilterProxy 实际上是 Filter 的一个代理对象. 默认情况下, Spring 会到 IOC 容器中查找和
  <filter-name> 对应的 filter bean. 也可以通过 targetBeanName 的初始化参数来配置 filter bean 的 id.
  -->
  <filter>
    <filter-name>shiroFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    <init-param>
      <param-name>targetFilterLifecycle</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>shiroFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
<!-- Spring5之后废弃log4jconfiglistener监听器,使用Log4jServletFilter替代 -->
  <filter>
    <filter-name>log4jServletFilter</filter-name>
    <filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>log4jServletFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>ERROR</dispatcher>
  </filter-mapping>
</web-app>
log4j2.xml 日志配置文件
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" />
        </Console>

        <RollingFile name="RollingFile" filename="log/test.log"
                     filepattern="${logPath}/%d{YYYYMMddHHmmss}-fargo.log">
            <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" />
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="20" />
        </RollingFile>

    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console" />
            <AppenderRef ref="RollingFile" />
        </Root>
    </Loggers>
</Configuration>

3、运行效果

项目结构
在这里插入图片描述
运行效果
如果需要认证功能则需实现realm接口。
在这里插入图片描述

shiro+springmvc整合 1、shiro整合springmvc的一个简单的用户权限管理 立即下载

相关推荐

spring+springMVC+shiro 完美例子

非常完美的spring+springMVC+shiro 完美例子实现权限认证,相信你一定会喜欢,里面有文档说明

SpringMVC+Shiro权限管理

博文目录 权限的简单描述实例表结构及内容及POJOShiro-pom.xmlShiro-web.xmlShiro-MyShiro-权限认证,登录认证层Shiro-applicationContext-shiro.xmlHomeController三个JSP文件  什么是权限呢?举个简单的例子: 我有一个论坛,注册的用户分为normal用户,manager用户。 对论坛的帖子的操

LzwGlory的专栏 2613

spring+springMVC+shiro 完美demo

非常完美的spring+springMVC+shiro 完美例子实现权限认证,相信你一定会喜欢,里面有文档说明 简介: Shiro 是一个 Apache Incubator 项目,旨在简化身份验证和授权。是一个很不错的安全框架。 下面记录一下shiro和Spring整合的过程的一个小示例: Web.xml配置 ......

shiro与springMVC整合

此realm先不从数据库查询权限数据/***** 自定义Realm***/@Override}// 支持什么类型的token@Override}/**** 获取授权信息*///先自定义一个query权限,就不从数据库查询了= null) {//权限}}/**** 获取认证信息** 问题:如何在登录后不再进登录页面了呢???????????????????????????*/// 通过表单接收的用户名= null &&!if (user!

web13985085406的博客 1112

SpringMVC整合Shiro的完整示例代码下载

这是我的博文https://jadyer.github.io/2013/09/30/springmvc-shiro/里面知识点的可直接运行的完整代码

springmvc+shiro 实现安全登录的demo

实现了shiro安全登录,包括密码加密匹配和登录失败次数限制的功能

Java:Shiro+SpringMVC 的集成实践

原帖位于IT老兵博客,沉淀着一个IT老兵对于这个行业的认知。 Java:Shiro+SpringMVC的集成实践。 前言 个人感觉,Shiro的官网有一个问题,讲的不够清楚,尽管看上去好像讲的挺明白,但是我总是感觉很多地方不够清楚,事实上,在阅读了很多帖子之后,发现很多人都对这一点存在疑问,那就不是我一个人的问题了。 Shiro的官网缺乏完整的例子,而且我所处理的项目是Spring的项目,如何清...

IT老兵的驿站 885

定时移动鼠标点击鼠标,防止电脑息屏的vba脚本

定时移动鼠标,使系统始终处于激活状态,防止系统息屏。

panfei263031的博客 5932

Spring mvc整合shiro 框架详细解析

Spring 全家桶-4.3.5版本shiro版本-1.3.2 核心容器下面是maven依赖的配置。

LQzhang_11的博客 876

数字IC后端实战:Innovus与ICC2中如何巧妙规避Filler1缺失引发的DRC问题?

本文针对数字IC后端设计中工艺厂不提供最小填充单元Filler1的常见挑战,深入剖析了由此引发的DRC问题根源。详细对比了在Cadence Innovus和Synopsys ICC2两大主流PR工具中,如何通过设置单元间距约束来系统性规避物理缝隙,确保电源网络完整性与制造可靠性,为工程师提供了一套稳健的实战解决方案。

weixin_29303701的博客 306

博科的SAN交换机基本操作

2、添加用户testuser赋予user权限可以访问1-128VF默认VF为128账号描述"Test user"密码为password123。1、创建zone别名(100是指当前设备Domain ID,1和2是指对应的index号)2,删除新接入设备的ZONE或保持ZONE配置一致。3、将zone添加到当前生效的CFG中。2、将zone添加到当前生效的CFG中。3、将zone添加到当前生效的CFG中。3,将添加的级联端口持续关闭。4、将当前zone生效。4、将当前zone生效。1、查看当前所有用户。

chenjunokok的博客 1839

Spring、SpringMVC、Shiro、Maven

1、Spring框架就像一个家族,有众多衍生产品例如:boot、security、jpa等等。但它们的基础都是Spring的ioc、aop等;ioc提供了依赖注入的容器,aop解决了面向横切面编程,然后在此两者的基础上实现了其他产品的高级功能;2、SpringMVC主要解决WEB开发的问题,是基于Servlet的一个MVC框架,通过XML配置,统一开发前端视图和后端逻辑。

inexaustible的博客 1181

MaixCAM2 4K AI相机硬件解析与开发实战

嵌入式AI视觉开发中,边缘计算设备的选择直接影响项目落地效果。以NPU为核心的AI加速技术通过专用指令集优化,可在低功耗下实现10+TOPS算力,典型应用包括工业质检、智能门禁等实时场景。MaixCAM2作为新一代4K AI相机,搭载AX630 SoC芯片,其双核Cortex-A53与NPU的异构架构,在运行YOLOv11n模型时可达113FPS,显著优于传统方案。开发时需注意模型量化部署技巧,如INT8量化需500+张校准图片覆盖多光照条件,避免准确率下降。设备扩展性方面,PMOD接口支持热成像、ToF传

weixin_30819085的博客 691

SpringMVC+Mybatis+Shiro环境搭建

SSM+Shiro: 1.利用IDEA快速创建SpringMVC环境 2.整合Spirng ⑴Web.xml中添加相关配置: 使用IDEA直接创建SpringMVC项目的话,不用再执行这一步,因为IDEA已经将spring和springmvc都整合进来.对于配置文件,默认是applicationContext.xml,在WEB-INF下,如果修改,可如下: <cont...

ld3205的博客 590

电源完整性之Cadence Sigrity Power DC_电热协同仿真

之前和大家分享过电源完整性之仿真设计原理链接: link.今天接着上一篇文章总结一下电源直流压降的的仿真操作流程及一些simulation中的设置参数,用到的是Cadence Sigrity 中的Power DC组件,来操作一下电热协同仿真,下面开始享受仿真的快乐吧: 第0步:仿真简介 电热协同仿真把电和热相互的影响考虑到了一起。因为电导率并不是固定不变的,而是和温度有关,随着温度的升高导电率会下降。同样电流流径电阻的时候会产生热量,此热量为焦耳热。因此为了获得准确的仿真信息,应考虑电与热的互相影响,进行电

刘小同学的博客 1万+

把 ABAP writable CDS view entity 讲透:从只读建模到可写模型的 ABAP CDS 新能力

摘要:SAP引入的writable CDS view entity突破了传统CDS视图只读的限制,允许通过ABAP SQL直接进行数据修改。该特性通过WRITABLE关键字定义,使CDS视图成为与数据库表同等级别的可写对象。其核心价值在于为数据集成、中间层同步等场景提供结构化写入入口,但需注意不应绕过业务规则。最佳实践建议保持底层表结构简单映射,避免复杂变形。这一特性标志着CDS从单纯消费模型向双向数据交互能力的演进,为ABAP开发提供了新的数据边界设计思路。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1313

springMVC+CAs+shiro整合一 环境搭建下载CAS及导入idea中

CAS理论之类的我就不再多说了,随便找一找也够看一下午的了,我只说整个搭建过程。 1.https://github.com/Jasig/cas/releases中下载最新版4.0.3得到cas-4.0.3.zip 2.解压得到如下图: 3.这里有两种方法,一种是直接用maven打包cas-server-webapp,再将打包后的cas.war包放tomcat运行,另一种直接将cas-ser

I__Rookie的博客 2716

CAPL概述与环境搭建

CANoe和CANalyzer是Vector公司开发的两款用于汽车电子系统开发和测试的工具。CANoe主要用于网络开发、仿真和测试,而CANalyzer则主要用于网络分析和诊断。两者都支持CAPL脚本语言,可以用于编写复杂的测试脚本和仿真模型。CAPL Browser是CANoe/CANalyzer中用于编写、编辑和调试CAPL脚本的工具。它提供了一个集成的开发环境,支持语法高亮、代码自动补全、调试等功能。菜单栏:包含文件操作、编辑、编译、调试等功能。工具栏。

闲人编程的博客 1665

【Shiro】SpringMVC Mybatis Shiro RestTemplate的实现客户端无状态验证及访问控制

A.首先需要搭建SpringMVC+Shiro环境 a1.pom.xml配置  spring:  org.springframework spring-webmvc 4.1.0.RELEASE org.springframework spring-aop 4.1.0.RELEASE org.springframework

每一名出色的架构师,必定是一位优秀程序员 2454

瑞芯微RK3588平台YOLOv8Pose模型RKNN部署与C++优化实战:从模型转换到高效推理的全流程指南-附源码

错误码 | 原因 | 解决方案 || -1001 | ONNX算子不支持 | 升级RKNN SDK至最新版 || -2003 | 量化校准数据不足 | 增加校准图片至500张 || -3005 | 输入尺寸不匹配 | 固定模型输入尺寸为640x640 || 资源消耗 | CPU 35% | NPU 90% |

m0_64661770的博客 990

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

spring 整合 shiro_Shiro 整合 Spring/SpringMVC Shiro(二)

“Apache Shiro™是一个功能强大且易于使用的Java安全框架,它执行身份验证,授权,加密和会话管理。”1. 搭建 SpringMVC 的环境要整合 SpringMVC 就必须先搭建 SpringMVC 的环境, 这不是本文的重点, 帅帅只把配置给大家, 大家自行复制黏贴或者看看就好.1.1 pom.xml<project xmlns="http://maven.apac...

weixin_39626927的博客 223

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

二、shiro集成spring

一、搭建spring+springMVC环境 1、导入相关jar包 2、web.xml中配置spring相关配置 <!-- needed for ContextLoaderListener --> <context-param> <param-name>contextConfigLocation</param-name> <p...

macx_1371873xxxx的博客 161

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

idea使用maven从0整合ssm+shiro

idea使用maven从0整合ssm+shiro 1. 搭建环境 idea2017 maven3 jdk1.8 2. 整合ssm 首先新建一个maven工程,空的也无所谓,构建目录结构,如图1. ​ 图1 构建maven工程的类型,可以在project structure里面看到,如图2所示 ​ ...

suveng's blog 4902

SpringMVC+ibatis+maven+shiro环境搭建过程中的基本注意事项

1.将SVN导入MyEclipse: a.下载SVN,如TortoiseSVN-1.8.8.25755-x64-svn-1.8.10,并安装。      b.先在已安装的MyEclipse的dropins文件夹下新建一个文件夹SVN,然后下载并解压site-1.6.18插件,并将其中的             features和plugins两个文件夹复制到SVN文件夹下,然后重启Myecli

SmartAnt_5658的专栏 927

8G显存本地跑MiniMax H3长视频:ComfyUI部署实战

视频生成正在从云端独占走向本地化部署,但显存容量始终是绕不开的硬件门槛。不同于单帧图像生成,长视频需要连续推理数十甚至上百帧,对显存、内存和磁盘I/O都提出更高要求。ComfyUI作为模块化节点工作流引擎,将模型调度、参数控制与批量任务封装成可视化流程,让本地视频生成从“能否跑通”转向“如何高效跑通”。MiniMax H3在8G显存环境下的部署实践,恰好提供了一个典型样本:通过合理调整分辨率、帧数和采样步数,普通中低配置显卡也能生成30秒级别视频内容。无论是内容创作者批量产出短视频素材,还是开发者研究受限资

weixin_34200628的博客 284

SpringMVC Mybatis Shiro RestTemplate的实现客户端无状态验证及访问控制【转】

A.首先需要搭建SpringMVC+Shiro环境 a1.pom.xml配置 spring: <dependency> <groupId>org.springframework</groupId> <artifactId>spring...

131
上一篇: redis虚拟机与本地连接
下一篇: shiro认证加密流程
magicproblem
博客等级 码龄7年 22粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值