No bean named 'shiroFilterFactoryBean' available

今天跟着狂神学习Shiro,遇到了这个问题,我对应ShrioConfig的配置如下

java 复制代码
    package com.example.demo.config;

    import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
    import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.boot.autoconfigure.security.ConditionalOnDefaultWebSecurity;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;

    import java.util.LinkedHashMap;
    import java.util.Map;

    @Configuration
    public class ShiroConfig {

    //ShiroFilterBean
    @Bean
    public ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier("f2") DefaultWebSecurityManager defaultWebSecurityManager){
        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
        shiroFilterFactoryBean.setSecurityManager(defaultWebSecurityManager);
        /*添加shiro的内置过滤器

        * anon  : 无需认值据可以访问
        * authc : 必须认证了才能访问
        * user  : 必须拥有记住我功能才能使用
        * role  : 拥有莫格角色权限才能访问
        * perms : 拥有对某个资源的权限才能访问
        *
        * */

        Map map = new LinkedHashMap<>();
        map.put("/user/add","authc");
        map.put("/user/update","authc");

        shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
        return shiroFilterFactoryBean;
    }

    //DefaultWebSecurityManager
    @Bean(name="f2")
    public DefaultWebSecurityManager getDefaultWebSecurityManager(@Qualifier("userRealm") UserRealm userRealm){
        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
        //关联UserRealm
        securityManager.setRealm(userRealm);
        return securityManager;
    }


    //创建 realm 对象 ,需要自定义
    @Bean
    public UserRealm userRealm(){
        return new UserRealm();
    }
}

查询资料后,了解只需在ShiroFilterBean后面的Bean加上(name = "shiroFilterFactoryBean")

问题解决

相关推荐
AI人工智能+电脑小能手17 小时前
【大白话说Java面试题】【Java基础篇】第32题:Java的异常处理机制是什么
java·开发语言·后端·面试
ltl17 小时前
Softmax 与概率分布:从分数到选择的桥
后端
刀法如飞18 小时前
Claude Code Skills 推荐:2026年最值得安装的10个AI技能
前端·后端·ai编程
IT_陈寒19 小时前
Vite热更新失效?你可能漏了这个小细节
前端·人工智能·后端
浮游本尊20 小时前
服务请求附件:从上传到预览、下载的实现详解
后端
程序员辉哥20 小时前
从零构建Agent智能体系列01-从零理解智能体
后端·openai·ai编程
客场消音器21 小时前
我用两周半 Vibe Coding 做了一个前额叶训练的微信小程序
前端·javascript·后端
杨凯凡21 小时前
【032】排查入门:jstack、heap dump、Arthas 初识
java·开发语言·后端
铁皮饭盒1 天前
成为AI全栈 - 第4课:Drizzle ORM SQLite Elysia 数据库实战
前端·后端
用户0534369380731 天前
# LangChainRust Agent 引擎:Graph 构建到执行
后端