

現在springboot, gradle, spring securityでログインページを作っています。  
thymeleafにてhtmlのloginForm.htmlを表示させたいのですが、  
localホストでＵＲＬに何を入力しても/loginに飛ばされ、  
spring securityのデフォルトログインページ(添付したスクショ)が表示されてしまします。  
類似質問に http.httpBasic().disable();を足したら、とあったので実行しましたが駄目でした。  
どうぞご教示お願いします。

> buildgradle
[code]

    plugins {
        id 'org.springframework.boot' version '2.4.1'
        id 'io.spring.dependency-management' version '1.0.10.RELEASE'
        id 'java'
    }
    
    group = 'com.example'
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = '1.8'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
        implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
        implementation 'org.springframework.boot:spring-boot-starter-web'
        // springsecurityを依存関係に追加
        implementation 'org.springframework.boot:spring-boot-starter-security'
        // thymeleaf拡張ライブラリを依存関係に追加
        implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
        runtimeOnly 'mysql:mysql-connector-java'
    }
    
    
[/code]

> SecurityConfig.java
[code]

    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
    
        //  ハッシュアルゴリズム
        @Bean
        public PasswordEncoder passwordEncoder() {
            return new BCryptPasswordEncoder();
        }
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
    
    //       http.httpBasic().disable();
    
            // 認可の設定
            http.authorizeRequests()
                    .antMatchers("/loginForm").permitAll() // loginFormは全ユーザーからアクセス可能
                    .antMatchers("/admin").hasAnyAuthority("ADMIN") //ADMINユーザーのみ
                    .anyRequest().authenticated(); // 許可した項目以外は認証を求める
    
            //  ログイン処理
            http.formLogin()
                    .loginProcessingUrl("/login") //ログイン処理のパス
                    .loginPage("/loginForm") //ログインページの指定
                    .usernameParameter("email") //ログインページのメールアドレス
                    .passwordParameter("password") //ログインページのパスワード
                    .defaultSuccessUrl("/home", true) //ログイン成功時のパス
                    .failureUrl("/loginForm?error"); //ログイン失敗時のパス
    }
    
    
[/code]

> loginController
[code]

    @Controller
    public class LoginController {
    
        @GetMapping("/loginForm")
        public String getLogin() {
            return "loginForm";
        }
    }
    
[/code]

[![表示されるデフォルトページの写真](https://i.stack.imgur.com/QH1bF.png)](https://i.stack.imgur.com/QH1bF.png)


CC BY-SA 4.0
2020-12-24T08:38:54.300
72859
2020-12-25T02:37:59.077
43272
question
java spring spring-boot thymeleaf spring-security
spring securityのログインページ作成で、デフォルトのページがでてきてしまう


原因はわからなかったのですが、作り直して自己解決しました。ありがとうございます。


CC BY-SA 4.0
2020-12-25T02:37:59.077
72877
2020-12-25T02:37:59.077
43272
72859
answer