Spring安全应用程序中没有定义名为'springSecurityFilterChain'的bean

时间:2013-12-28 05:36:57

标签: spring-mvc spring-security

我正在创建一个带有spring security的spring mvc应用程序..但是当我在web.xml中添加安全过滤器时,它给了我没有bean命名的异常(Maven项目)

我的web.xml

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

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

    <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>
            /WEB-INF/spring-context-web.xml,
             /WEB-INF/spring-context-data.xml,
             /WEB-INF/spring-security.xml
            </param-value>

        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>



    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>

    <filter>

        <filter-name>methodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>methodFilter</filter-name>
        <url-pattern>*.html</url-pattern>
    </filter-mapping>

    <!-- Spring Security -->
    <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>

    <welcome-file-list>

        <welcome-file>login.html</welcome-file>

    </welcome-file-list>


</web-app>

1 个答案:

答案 0 :(得分:0)

大多数情况下,您缺少创建springSecurityFilterChain bean所需的最小配置。

在文件spring-security.xml中,确保&lt; http&gt;使用Spring Security命名空间配置元素。