我无法在扩展Spring安全类(org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler)的类中“自动装配”。
我通过在security-config.xml中添加以下代码来实现它的工作,这些代码已经在xml spring配置文件中编写:<context:annotation-config />
,<context:component-scan base-package="packagename...."/>
以及我自动连接的bean。
我有两个问题:
谢谢
答案 0 :(得分:0)
尝试从main beans.xml导入security-beans.xml。
两个文件都应位于同一文件夹中。导入,例如:
<import resource="spring-security.xml"/>
在你的web.xml中,写下这样的东西:
<!-- to integrate Spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>
如果您害怕导入,另一种方法是保存一个包含所有bean的bean.xml - 安全bean以及其他bean。在这种情况下,您的web.xml将如下所示:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>contextAttribute</param-name>
<param-value>org.springframework.web.servlet.FrameworkServlet.CONTEXT.spring</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
,你的spring beans文件将是spring-servlet.xml。
HTH。