aya0724masa
@aya0724masa

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

spring-boot-starter-securityの依存関係を追加すると、ページ表示できなくなる

解決したいこと

Spring bootでWebアプリを作っています。
ユーザーのログインページを作りましたが、
spring-boot-starter-securityの依存関係を追加すると、HTTPリクエストエラーになり、ログインページを表示できません。
依存関係を追加しないと、正常に画面表示できます。
依存関係を追加した状態で、正常に画面表示できるようにしたいです。

発生している問題・エラー

ログインページに遷移しようとすると、以下のエラーになります。

This page isn’t working
localhost redirected you too many times.
Try deleting your cookies.
ERR_TOO_MANY_REDIRECTS

開発者ツールでリクエストを確認すると、大量のリクエストが送られていて、全て302エラーになっています。

該当するソースコード

以下のように依存関係を追加しています。

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
		</dependency>

自分で試したこと

SecurityConfigクラスを作成し、
/loginと/registerのURLは認証されていなくてもアクセスできるように設定しているのですが、正常に画面遷移できません。

package com.reading.tracker.readingtracker.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.web.SecurityFilterChain;

@Configuration
@EnableWebSecurity
public class SecurityConfig{

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http
            .csrf(csrf -> csrf.disable())
            .authorizeHttpRequests(auth -> auth
                .requestMatchers("/register", "/login").permitAll()
                .anyRequest().authenticated()
            )
            .formLogin(form -> form
                .loginPage("/login").permitAll()
                .defaultSuccessUrl("/register")
            )
            .logout(logout -> logout
                .permitAll()
                .logoutSuccessUrl("/login")
            );

        return http.build();
    }
}
0

1Answer

エラーの内容の通り、リダイレクトがループした影響でページが表示できていません。

開発者ツールでリクエストを確認すると、大量のリクエストが送られていて、全て302エラーになっています。

この開発者ツールのスクリーンキャプチャを貼っていただくことは可能でしょうか?
また、

ユーザーのログインページを作りましたが、

依存関係を追加しないと、正常に画面表示できます。

ユーザーのログインページのControllerのソースコードもお見せいただけますでしょうか。

0Like

Your answer might help someone💌