简体   繁体   English

Spring 4 Spring Security 3.2.2没有定义名为“ springSecurityFilterChain”的bean

[英]Spring 4 Spring Security 3.2.2 No bean named 'springSecurityFilterChain' is defined

I know this has been asked a lot, but none of the answers seem to actually work for me. 我知道这个问题已经问了很多,但似乎没有一个答案对我真正有用。 I've been banging my head against Spring Security for the last two days and had zero luck. 在过去的两天里,我一直在与Spring Security相撞,并且运气为零。 The documentation claims it's super easy to setup, but I can't help but feel like it is missing something. 该文档声称它非常容易安装,但是我不禁感到它缺少某些东西。

My web.xml: 我的web.xml:

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>SpringProject</display-name>

    <!-- Spring Configuration Files -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath*:mvcDispatcher-servlet.xml
            classpath*:application-security.xml
        </param-value>
    </context-param>

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

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

    <!-- MVC Filter -->
    <servlet>
        <servlet-name>mvcDispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>mvcDispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

And my application-security.xml: 而我的application-security.xml:

<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans"
    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-3.0.xsd
        http://www.springframework.org/schema/security
        http://www.springframework.org/schema/security/spring-security-3.0.xsd">

    <global-method-security secured-annotations="enabled" />

    <http use-expressions="true">
        <form-login login-page="/login"
                    login-processing-url="/j_spring_security_check"
                    default-target-url="/view"
                    authentication-failure-url="/login?login_error=t" />
        <intercept-url pattern="/login" access="isAnonymous()" />
        <intercept-url pattern="/**" access="isAuthenticated()" />
    </http>

    <authentication-manager>
        <authentication-provider user-service-ref="userService" />
    </authentication-manager>

    <user-service id="userService">
        <user name="user" password="password" authorities="ROLE_ADMIN" />
    </user-service>

</beans:beans>

When I deploy (to WAS8.0) and attempt to get to my login page, I get the error: 当我部署(到WAS8.0)并尝试进入登录页面时,出现以下错误:

com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[mvcDispatcher]: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSecurityFilterChain' is defined

If I change web.xml from: 如果我从以下位置更改web.xml:

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath*:mvcDispatcher-servlet.xml
            classpath*:application-security.xml
        </param-value>
    </context-param>

to: 至:

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

I get the error 我得到错误

[Servlet Error]-[mvcDispatcher]: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/security]

I have no idea what is causing this or why Spring Security is not working here. 我不知道是什么原因造成的,或者为什么Spring Security无法在这里工作。 It's been incredibly frustrating. 真令人沮丧。 Any assistance is greatly appreciated, thanks! 非常感谢任何帮助,谢谢!

Try following in your web.xml. 尝试在您的web.xml中执行以下操作。

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

Note: 注意:

  • The WEB-INF directory is not on the classpath. WEB-INF目录不在类路径上。
  • The DispatcherServlet looks for WEB-INF/[servlet-name]-servlet.xml by default. 默认情况下,DispatcherServlet查找WEB-INF / [servlet-name] -servlet.xml。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Spring Security-未定义名为“ springSecurityFilterChain”的Bean - Spring Security - No bean named 'springSecurityFilterChain' is defined “未定义名为&#39;springSecurityFilterChain&#39;的bean” Java Config Spring安全性 - “No bean named 'springSecurityFilterChain' is defined” Java Config Spring security java配置的春季安全性,未定义名为“ springSecurityFilterChain”的bean错误 - spring security with java config , No bean named 'springSecurityFilterChain' is defined error Spring Security错误没有名为&#39;springSecurityFilterChain&#39;的bean可用 - Spring Security Error No bean named 'springSecurityFilterChain' available Spring安全问题:没有名为“ springSecurityFilterChain”的bean - Spring security Issue: No bean named 'springSecurityFilterChain' spring mvc没有定义名为&#39;springSecurityFilterChain&#39;的bean - spring mvc No bean named 'springSecurityFilterChain' is defined 未定义名为“ springSecurityFilterChain”的bean-Spring 4 Java配置 - No bean named 'springSecurityFilterChain' is defined - Spring 4 Java configuration 没有定义名为“ springSecurityFilterChain”的bean - No bean named 'springSecurityFilterChain' is defined Spring 安全性:创建名为 springsecurityfilterchain 的 bean 时出错 - Spring Security: error creating bean with name springsecurityfilterchain 春季安全性没有定义名为“ CustomAuthenticationProvider”的bean - Spring security No bean named 'CustomAuthenticationProvider' is defined
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM