0

我将 Tomcat 用于 servlet 容器,我必须每天检查 catalina.out 日志以进行调试。但是当匿名用户尝试登录时,Spring Security 拦截器会抛出异常,它会淹没 catalina.out 日志文件。日志是这样的:

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.springframework.security.authentication.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext
at org.springframework.security.access.intercept.AbstractSecurityInterceptor.credentialsNotFound(AbstractSecurityInterceptor.java:327)
at org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:197)
at org.springframework.flex.security3.EndpointInterceptor.preProcess(EndpointInterceptor.java:97)
at org.springframework.flex.core.MessageInterceptionAdvice.invoke(MessageInterceptionAdvice.java:62)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:124)
... 52 more

如何在 Tomcat 中禁用 Spring Security 日志记录?

4

1 回答 1

4

当日志级别设置为 DEBUG 并且您的过滤器链中没有 AnonymousAuthenticationFilter 时,您将在日志中看到 AuthenticationCredentialsNotFoundException。

请参阅常见问题解答

所以我假设您在安全应用程序上下文中使用传统的 bean 配置,而不是命名空间配置。如果您想摆脱异常,您可以按照文档中的说明将anonymousAuthenticationFilter 添加到您的应用程序上下文中

或者,您可以将日志级别设置为

org.springframework.security.level=INFO

在这个问题中提到的tomcat中。

于 2012-07-31T06:16:39.920 回答