当前位置: 首页 > 知识库问答 >
问题:

Spring Security问题:没有名为“springSecurityFilterChain”的bean

陶鸿畴
2023-03-14

我对spring security有很大的问题。

情况:

网状物。XML:

    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>
            org.springframework.web.filter.DelegatingFilterProxy
        </filter-class>
    </filter>

    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

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

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

security-config.xml:

<beans:beans xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns="http://www.springframework.org/schema/security"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">

    <http auto-config="true">
        <intercept-url pattern="/**" access="ROLE_USER" />
    </http>

    <authentication-manager>
        <authentication-provider>
            <user-service>
                <user name="admin" password="password" authorities="ROLE_USER" />
            </user-service>
        </authentication-provider>
    </authentication-manager>
</beans:beans>

错误:

严重:启动筛选器springSecurityFilterChain组织时出现异常。springframework。豆。工厂NoSuchBeanDefinitionException:在组织中未定义名为“springSecurityFilterChain”的bean。springframework。豆。工厂支持DefaultListableBeanFactory。位于org的getBeanDefinition(DefaultListableBeanFactory.java:570)。springframework。豆。工厂支持AbstractBeanFactory。位于org的getMergedLocalBeanDefinition(AbstractBeanFactory.java:1114)。springframework。豆。工厂支持AbstractBeanFactory。org上的doGetBean(AbstractBeanFactory.java:279)。springframework。豆。工厂支持AbstractBeanFactory。org上的getBean(AbstractBeanFactory.java:198)。springframework。上下文支持AbstractApplicationContext。位于org的getBean(AbstractApplicationContext.java:1121)。springframework。网状物滤器删除筛选器代理。位于org的initDelegate(DelegatingFilterProxy.java:323)。springframework。网状物滤器删除筛选器代理。位于org的initFilterBean(DelegatingFilterProxy.java:235)。springframework。网状物滤器GenericFilterBean。位于org的init(GenericFilterBean.java:194)。阿帕奇。卡特琳娜。果心ApplicationFilterConfig。位于org的initFilter(ApplicationFilterConfig.java:279)。阿帕奇。卡特琳娜。果心ApplicationFilterConfig。位于org的getFilter(ApplicationFilterConfig.java:260)。阿帕奇。卡特琳娜。果心ApplicationFilterConfig。(ApplicationFilterConfig.java:105)位于org。阿帕奇。卡特琳娜。果心标准上下文。filterStart(StandardContext.java:4854)位于org。阿帕奇。卡特琳娜。果心标准上下文。startInternal(StandardContext.java:5546)位于org。阿帕奇。卡特琳娜。util。生命周期数据库。在org上启动(LifecycleBase.java:150)。阿帕奇。卡特琳娜。果心ContainerBase$StartChild。在org上调用(ContainerBase.java:1575)。阿帕奇。卡特琳娜。果心ContainerBase$StartChild。在java上调用(ContainerBase.java:1565)。util。同时发生的未来任务。在java上运行(FutureTask.java:262)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1145)。util。同时发生的ThreadPoolExecutor$工作者。在java上运行(ThreadPoolExecutor.java:615)。lang.Thread。运行(Thread.java:745)

我的pom中的从属关系。xml:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.2.6.RELEASE</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>4.2.0.Final</version>
</dependency>
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.4.1</version>
</dependency>
<dependency>
    <groupId>com.thoughtworks.xstream</groupId>
    <artifactId>xstream</artifactId>
    <version>1.3.1</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-oxm</artifactId>
    <version>3.2.6.RELEASE</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.36</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>4.1.9.Final</version>
</dependency>
<dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>jta</artifactId>
    <version>1.1</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>3.2.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>3.2.0.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>3.2.0.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>3.2.0.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-taglibs</artifactId>
    <version>3.2.0.RELEASE</version>
</dependency>


<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1.1</version>
</dependency>


<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>3.2.0.RELEASE</version>
</dependency>

共有3个答案

唐俊英
2023-03-14

我在配置一个项目时遇到了这个问题。我得到这个消息的原因是我没有在context参数中提到我的应用程序上下文/根上下文xml文件。我完全不记得这是一年前的确切解释,但这样做解决了我的问题。您可以尝试将应用程序上下文(根spring xml文件)放在context-param中

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/application-context.xml
        /WEB-INF/config/security.xml</param-value>
    </context-param>

看看这个

仲孙鸿飞
2023-03-14

确定-类org.springframework.web.filter.委托FilterProxy与maven依赖关系一起拉入:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>3.2.0.RELEASE</version>
</dependency>

试试这个。

苏乐童
2023-03-14

我假设您有这些库:

spring-security-config-3.1.3。释放。罐子

spring-security-core-3.1.3。释放。罐子

spring-security-taglibs-3.1.3。释放。罐子

spring-security-web-3.1.3。释放。罐子

但可能应用程序上下文没有加载安全上下文

类路径:spring/conf/security-context。xml

 类似资料:
  • 我刚刚为一个简单的Spring测试项目配备了基本的身份验证功能。当服务器加载时,我会得到一个众所周知的错误org。springframework。豆子。工厂NoSuchBeanDefinitionException:未定义名为“springSecurityFilterChain”的bean。 <代码>web。xml: servlet上下文。xml包含与安全相关的配置: 我错过了什么?

  • 我在Maven Webapp项目中设置Spring Security性时遇到问题。每当我在服务器上运行应用程序时,它都会显示以下错误: 现在我知道这个问题已经被问到了,我从昨天开始一直在尝试各种各样的解决方案,但都没有结果。 请注意,Spring Security性。xml和spring数据库。xml位于WEB-INF目录中名为spring的文件夹中,而applicationContext。xml

  • 我正在设置Angular Spring Security模块来登录和注册用户。当我注册一个用户时,一切都正常。注册后的最后一步是自动登录,但我遇到了以下错误: XMLHttpRequest无法加载超文本传输协议//localhost:8080/com-tesis/login.请求的资源上不存在“访问控制允许起源”标头。因此不允许访问起源“超文本传输协议//localhost:9000”。响应的HT

  • 问题内容: 我已经通过pip install pipenv在vs代码中为django项目安装了虚拟环境。虽然我已经成功安装了虚拟环境和django(3.0.5),但是当我尝试安装它时却抛出了一个错误。它只是说它找不到任何名为django的模块(但是当我键入它时,它表明我已经安装了django,它的版本是3.0.5)。在我的cmd中,我收到以下消息: 问题答案: 问题是,您尝试创建虚拟环境的位置不包

  • 问题内容: 我使用在Mac上安装pytest,并开始为文件结构像这样的项目编写测试: 在目录中运行时,所有行为均符合你的预期 但是,当我在或上尝试相同的操作时(两者上都具有pytest 2.2.3),只要它从我的应用程序路径中首次导入某些内容,它就会发出吠声。举例来说 我需要编辑PATH才能在这些系统上运行py.test吗?有人经历过吗? 问题答案: 是的,如果你转到tests目录,则源文件夹不在

  • 当我试图在模拟器上运行应用程序时,或者在flutter项目上创建apk文件时,我面临着这个问题。我尝试删除项目、pub-get、pub-cache-clean、删除flutter文件夹并重新安装。没有什么帮助,它总是给出下面的错误。 我的颤动医生结果