1.SSM-Project-Day06 shiro框架-【重坑】:对web.xml的不了解,导致无法加载shiro的bean

本文介绍了SSM项目中整合Shiro框架的步骤,包括概要架构、配置mapper、Controller以及在web.xml中配置过滤器。特别强调了web.xml配置的重要性,由于对此不熟悉可能导致Shiro的bean无法加载。文章结尾表达了对秘银大佬指导的感激之情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概要架构

在这里插入图片描述

二、流程

在这里插入图片描述

三、配置mapper、写在applicationContext里

因为web.xml里配置了


  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>

    <!--配置shiro框架 用于用户访问与授权的安全操作-->
<!--需求:没有认证的用户跳转到登陆页面-->
    <!--配置安全管理器 securityManager-->
    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">

    </bean>
    <!--配置shiroFilterFactoryBean-->
    <bean id="shiroFilterFactory" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <!--set注入-->
        <property name="SecurityManager" ref="securityManager"/>
        <!--让非法用户进行登陆认证-->
        <property name="LoginUrl" value="/doLoginUI"/>
        <!--设置请求过滤规则-->
        <!--anon是规则,表示允许匿名访问-->
        <!--authc规则,表示授权才能访问-->
        <property name="FilterChainDefinitionMap">
            <map>
                <entry key="/bower_components/**" value="anon"/>
                <entry key="/build/**" value="anon"/>
                <entry key="/dist/**" value="anon"/>
                <entry key="/plugins/**" value="anon"/>
                <entry key="/doLogin" value="anon"/>
                <entry key="/doLogout" value="logout"/>
                <entry key="/**" value="authc"/>
            </map>
        </property>
    </bean>

在这里插入图片描述

四、配置Controller

//	配置登陆页面
	@RequestMapping("doLoginUI")
	public String doLoginUI(){
		return "login";
	}

五、在web.xml配置过滤器,写在servlet上访

 <!--shiro中核心过滤器-->
  <!--param-value对应bean id-->
  <filter>
    <filter-name>shiroFilterFactory</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    <init-param>
      <param-name>targetBeanName</param-name>
      <param-value>shiroFilterFactory</param-value>
    </init-param>
  </filter>
  <!-- Filter负责拦截的URL 全部以/的请求,如果<url-pattern>/*.action </>,将会以拦截*.action的请求-->
  <filter-mapping>
    <filter-name>shiroFilterFactory</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

验证一下吧

在这里插入图片描述

特别感谢秘银大佬对我学习上的帮助!感恩~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值