Spring security 继续获取未定义名为“springSecurityFilterChain”的bean

Spring security 继续获取未定义名为“springSecurityFilterChain”的bean,spring-security,single-sign-on,siteminder,Spring Security,Single Sign On,Siteminder,我正在学习并需要使用Spring Security配置siteminder SSO。我关注一些博客,并以fllowing的身份编写代码。Plz解析帮助:未定义名为“springSecurityFilterChain”的bean。这是我的密码: web.xml <context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/conf/Securi

我正在学习并需要使用Spring Security配置siteminder SSO。我关注一些博客,并以fllowing的身份编写代码。Plz解析帮助:未定义名为“springSecurityFilterChain”的bean。这是我的密码:

web.xml

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

<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> 

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

<security:http use-expressions="true" auto-config="false" entry-point-ref="http403EntryPoint">
    <security:intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
    <security:custom-filter position="PRE_AUTH_FILTER" ref="siteminderFilter" />
</security:http>

<bean id="siteminderFilter" class="org.springframework.security.web.authentication.preauth.RequestHeaderAuthenticationFilter">
    <property name="principalRequestHeader" value="SM_USER"/>
    <property name="authenticationManager" ref="authenticationManager" />
</bean>

<bean id="preauthAuthProvider" class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider">
    <property name="preAuthenticatedUserDetailsService">
        <bean id="userDetailsServiceWrapper"  class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
            <property name="userDetailsService" ref="customUserDetailsService"/>
        </bean>
    </property>
</bean>

<security:authentication-manager alias="authenticationManager">
    <security:authentication-provider ref="preauthAuthProvider" />
</security:authentication-manager>   

<bean id="customUserDetailsService" class="com.cno.cnofdw.security.CustomUserDetailsService"></bean>
<bean id="http403EntryPoint" class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"></bean>
将Security-config.xml置于WEB-INF/conf下/ 甚至我也尝试在applicationContext.xml中导入。但是没有用


有人能帮我解决这个问题吗?如果可能的话,请建议任何博客使用siteminder signle登录来配置spring?

您缺少的/in路径。应该是:

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

谢谢大家花时间回答我的问题。我已将contextClass放在我的web.xml中,并对其进行了注释并得到了解决

上下文类 org.springframework.web.context.support.AnnotationConfigWebApplicationContext

大家好,欢迎来到SO。你关注什么博客?想提供链接吗?很高兴听到你的消息,katzenhut!以下是我关注的博客:不,不是/。。我的contextConfigLocation从未读取。不知道为什么?contextConfigLocation/WEB-INF/Security-config.xml要尝试的另一个选项是:将Security-config.xml文件放在WEB-INF目录下,而不放在conf目录下,即:/WEB-INF/Security-config.xml根据:contextConfigLocation/WEB-INF/applicationContext-Security.xml再试一个选项相同的。如果我将applicationContext移动到WEB-INF下,则不会加载它,因为我使用的是applicationContext ctx=new ClassPathXmlApplicationContextapplicationContext.xml;装载。从未检测到Security-config.xml。即使我输入了错误的文件名,比如Security111111-config.xml,它也不会显示错误,但是表示没有定义名为“springSecurityFilterChain”的bean。我激动人心的是: