使用Spring Security时的堆栈跟踪

时间:2014-02-22 21:54:20

标签: spring-security stack-trace

我在我的网络应用程序中使用Spring Security进行用户身份验证,我在堆栈跟踪中注意到了这一点:

[DEBUG] [http-bio-8080-exec-3 10:48:02] (ExceptionTranslationFilter.java:handleSpringSecurityException:165) Access is denied (user is anonymous); redirecting to authentication entry point
org.springframework.security.access.AccessDeniedException: Access is denied
    at org.springframework.security.access.vote.AffirmativeBased.decide(AffirmativeBased.java:83)
    at org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:206)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
etc...

这是正常行为吗?我现在不是错误,但它看起来很相似:)

2 个答案:

答案 0 :(得分:0)

这是一条调试消息,告诉你spring因为匿名访问受限区域而重定向到登录页面。

如果需要,您可以更改org.springframework.security packege的日志级别,但这是正常行为

答案 1 :(得分:0)

是的,这是正常的;请注意,这不是错误,只是调试。

这就是Spring的过滤链如何工作 - 当一个过滤器失败时,它返回到下一个链。在这种情况下,ExceptionTranslationFilter失败,现在验证过滤器(UsernamePasswordFilter?)尝试验证用户。