在我的安全应用程序中,不会为AuthenticationSuccessEvent调用Spring安全ApplicationListener
@Component
public class LoginListener implements ApplicationListener<InteractiveAuthenticationSuccessEvent> {
@Override
public void onApplicationEvent(InteractiveAuthenticationSuccessEvent event)
{
log.info("Login success");
}
}
我该怎么办?
答案 0 :(得分:0)
我正在使用基于xml
的mvc配置,并且正在像这样初始化security
:
public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
public SecurityWebApplicationInitializer() {
super(SecurityConfig.class);
}
}
我通过以下方法解决了上述问题:
删除基于Java的初始化,并通过在springSecurityFilterChain
中添加过滤器web.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>
此外,每当我尝试@Autowire
类中的任何bean时,都会出现bean接线异常。这个问题也解决了。