java 匿名访问权限_java-春季安全性allowAll()不允许匿名访问
我有一個(gè)方法要同時(shí)允許匿名和身份驗(yàn)證訪問。
我正在使用基于Java配置的Spring Security 3.2.4。
覆蓋的configure方法(在我的自定義配置類中,擴(kuò)展了WebSecurityConfigurerAdapter)具有以下http塊:
http
.addFilterBefore(muiltpartFilter, ChannelProcessingFilter.class)
.addFilterBefore(cf, ChannelProcessingFilter.class)
.authorizeRequests()
.anyRequest()
.authenticated()
.and()
.authorizeRequests()
.antMatchers("/ping**")
.permitAll()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/login");
ping請求處理程序和方法位于還包含登錄處理程序的控制器中,并且沒有單獨(dú)的@PreAuthorize或其他可能引起此問題的注釋。
問題是匿名訪問被拒絕,用戶被重定向到登錄頁面。
在調(diào)試級別登錄時(shí),我從Spring Security看到以下反饋:
[2014-07-11 13:18:04,483] [DEBUG] [org.springframework.security.web.access.intercept.FilterSecurityInterceptor] Secure object: FilterInvocation: URL: /ping; Attributes: [authenticated]
[2014-07-11 13:18:04,483] [DEBUG] [org.springframework.security.web.access.intercept.FilterSecurityInterceptor] Previously Authenticated: org.springframework.security.authentication.AnonymousAuthenticationToken@6faad796: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@ffffa64e: RemoteIpAddress: 192.168.2.128; SessionId: 0EF6B13BBA5F00C020FF9C35A6E3FBA9; Granted Authorities: ROLE_ANONYMOUS
[2014-07-11 13:18:04,483] [DEBUG] [org.springframework.security.access.vote.AffirmativeBased] Voter: org.springframework.security.web.access.expression.WebExpressionVoter@123f2882, returned: -1
[2014-07-11 13:18:04,483] [DEBUG] [org.springframework.security.web.access.ExceptionTranslationFilter] Access is denied (user is anonymous); redirecting to authentication entry point
我要完成的工作是擁有一個(gè)可以隨時(shí)調(diào)用的方法,該方法將發(fā)送答復(fù),指示請求是否在登錄的會話中。
總結(jié)
以上是生活随笔為你收集整理的java 匿名访问权限_java-春季安全性allowAll()不允许匿名访问的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java求质数为什么%3ci 2_C语言
- 下一篇: java 去掉大量if else_jav