Yay önyükleme projem var. bir istek yanlış kullanıcı kimlik bilgileriyle hale getirildiğinde:Kullanıcı adıNotFoundException, önyükleme sırasında 403 olarak atıldı
catch (RuntimeException ex) {
log.error("Error occurred while fetching user {}: {}", securityPrincipal, ex);
throw new UsernameNotFoundException("Could not find user: " + securityPrincipal);
}
Fakat sonunda atılan istisna bir 500.
bağlantıların bir dizi geçmekte sonra bunu buldum geçerli:
protected AbstractPreAuthenticatedProcessingFilter multiPreAuthenticatedProcessingFilter() throws Exception {
MultiPreAuthenticatedProcessingFilter filter = new MultiPreAuthenticatedProcessingFilter();
filter.setAuthenticationManager(authenticationManager());
filter.setPreAuthenticatedPrincipalProviders(preAuthenticatedPrincipalProviders);
filter.setCheckForPrincipalChanges(true);
filter.setInvalidateSessionOnPrincipalChange(true);
filter.setContinueFilterChainOnUnsuccessfulAuthentication(**true**);
return filter;
}
continueFilterChainOnUnsuccesfulAuthentication değiştirme true, Kimlik Doğrulama özel durumunun olduğu gibi atılmasına yardımcı olur. Ancak bu doğru olarak değiştirildikten sonra, UsernameNotFoundException 401 yerine 403 olarak atılır.
Eksik bazı temel güvenlik yapılandırması var mı?
Bunun için cevabı buldunuz mu? – Scooby
@Scooby - Hayır. Henüz değil. –
gerçekten 401'i atmanız gerekiyorsa, neden @controllerAdvice ile bir exceptionHandler yaratmıyorsunuz ve ihtiyacınız olan durum kodunu atayınız. Bu bağlantıda tüm detaylar var. https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc –