Spring Security перенаправляет на страницу входа в систему после внесения URL-адреса в белый списокJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring Security перенаправляет на страницу входа в систему после внесения URL-адреса в белый список

Сообщение Anonymous »

Я пытаюсь получить доступ к "/" как неаутентифицированный пользователь. Я реализовал только SecurityFilterChain и @Controller, которые только отображают этот запрос. До сих пор я пробовал разные варианты, но остановился на самом простом, который, как мне кажется, должен сработать.

Код: Выделить всё

@Configuration
@EnableWebSecurity
public class WebSecurityConfig {

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(authorize -> authorize
.anyRequest().permitAll()
)
.formLogin(withDefaults())
.httpBasic(withDefaults());
return http.build();
}
Также класс Controller:

Код: Выделить всё

@Controller
public class controller {
@GetMapping("/")
public String index() {
return "home";
}
}
Я также пробовал использовать @PreAuthorize("isAnonymous()") в методе index(), но это тоже не работает.
Ниже вы можете увидеть некоторые журналы после того, как я попытался получить доступ к "/" :

Код: Выделить всё

2024-07-01T16:26:16.447+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-1] o.s.security.web.FilterChainProxy        : Securing GET /
2024-07-01T16:26:16.454+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter  : Set SecurityContextHolder to anonymous SecurityContext
2024-07-01T16:26:16.458+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-1] o.s.s.w.s.HttpSessionRequestCache        : Saved request http://localhost:8080/?continue to session
2024-07-01T16:26:16.459+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-1] s.w.a.DelegatingAuthenticationEntryPoint : Trying to match using And [Not [RequestHeaderRequestMatcher [expectedHeaderName=X-Requested-With, expectedHeaderValue=XMLHttpRequest]], MediaTypeRequestMatcher [contentNegotiationStrategy=org.springframework.web.accept.ContentNegotiationManager@162c4544, matchingMediaTypes=[application/xhtml+xml, image/*, text/html, text/plain], useEquals=false, ignoredMediaTypes=[*/*]]]
2024-07-01T16:26:16.460+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-1] s.w.a.DelegatingAuthenticationEntryPoint : Match found! Executing org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint@2bfb36bf
2024-07-01T16:26:16.461+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-1] o.s.s.web.DefaultRedirectStrategy        : Redirecting to http://localhost:8080/login
2024-07-01T16:26:16.474+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-3] o.s.security.web.FilterChainProxy        : Securing GET /login
2024-07-01T16:26:16.563+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-2] o.s.security.web.FilterChainProxy        : Securing GET /favicon.ico
2024-07-01T16:26:16.563+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-2] o.s.s.w.a.AnonymousAuthenticationFilter  : Set SecurityContextHolder to anonymous SecurityContext
2024-07-01T16:26:16.563+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-2] s.w.a.DelegatingAuthenticationEntryPoint : Trying to match using And [Not [RequestHeaderRequestMatcher [expectedHeaderName=X-Requested-With, expectedHeaderValue=XMLHttpRequest]], MediaTypeRequestMatcher [contentNegotiationStrategy=org.springframework.web.accept.ContentNegotiationManager@162c4544, matchingMediaTypes=[application/xhtml+xml, image/*, text/html, text/plain], useEquals=false, ignoredMediaTypes=[*/*]]]
2024-07-01T16:26:16.563+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-2] s.w.a.DelegatingAuthenticationEntryPoint : Match found! Executing org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint@2bfb36bf
2024-07-01T16:26:16.563+03:00 DEBUG 5292 --- [NaiveBlog] [nio-8080-exec-2] o.s.s.web.DefaultRedirectStrategy        : Redirecting to http://localhost:8080/login
Версия Springboot — 3.3.1.
Я пытаюсь сделать, открыть / для всех, но я хочу защитить любую другую конечную точку от неаутентифицированных пользователей. Итак, у меня было что-то вроде этого .requestMatchers("/").permitAll() и даже пробовал использовать анонимный() вместо разрешенногоAll(), пока ничего не помогло. Я что-то упустил?

Подробнее здесь: https://stackoverflow.com/questions/786 ... isting-url
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»