Hem anonim hem de kimliği doğrulanmış erişime izin vermek istediğim tek bir yöntem var.Yay Güvenliği izniAll() anonim erişime izin vermiyor
Java tabanlı yapılandırma ile Spring Security 3.2.4 kullanıyorum. (WebSecurityConfigurerAdapter uzanan benim özel konfigürasyon sınıfında)
geçersiz kılınan yapılandırmak yöntemi şu http bloğu vardır:
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 isteği işleyicisi ve yöntem ayrıca giriş işleyicisi içeren bir denetleyici olduğunu ve sahip olduğu Soruna neden olabilecek ayrı bir @PreAuthorize veya başka ek açıklama yok.
Sorun, anonim erişimin reddedilmesi ve kullanıcının giriş sayfasına yönlendirilmesidir. ayıklama düzeyinde açılıyor
, ben Bahar Güvenlik aşağıdaki geribildirim bakın:
[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.sprin[email protected]6faad796: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.sprin[email protected]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.sp[email protected]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
Neyi başarmaya çalışıyorum herhangi bir noktada çağrılabilir ve bir göndereceğiz hangi bir yöntemi sahip olmaktır isteğin oturuma giriş yapılıp yapılmadığını belirten yanıt.
neler desen olarak "/ ping" veya "/ ping *" kullanırsanız olur? –
Eğer Bahar Güvenlik Javadoc yorumlarında pek çok kez gördüğüm _the_ Luke Taylor var mı? Öyle olsa bir onur! Bu davranış,/ping ve/ping * kullanarak maalesef aynıdır. – Zaan
"authorizeRequests(). AnyRequest(). Authenticated()' i sonuncu mu? XML'de elementlerin sıralanması önemlidir, aynı şeyin java config için de geçerli olduğunu düşünebilirim. –