我在我的网络应用程序中使用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...
这是正常行为吗?我现在不是错误,但它看起来很相似:)
答案 0 :(得分:0)
这是一条调试消息,告诉你spring因为匿名访问受限区域而重定向到登录页面。
如果需要,您可以更改org.springframework.security packege的日志级别,但这是正常行为
答案 1 :(得分:0)
是的,这是正常的;请注意,这不是错误,只是调试。
这就是Spring的过滤链如何工作 - 当一个过滤器失败时,它返回到下一个链。在这种情况下,ExceptionTranslationFilter失败,现在验证过滤器(UsernamePasswordFilter?)尝试验证用户。