Web竜の巣

知ってることを、知ってるだけ。

Springboot2でポートフォリオチャレンジ。

お久しぶりです。

 

最近また色々触り始めたので、備忘録として。

技術的なものですが、Springboot2で認証とサイトの基礎を作るお話です。

 

Springboot2の踏みやすい地雷

以下2点が特に引っかかりやすいものだと思う。

このあたりの話を触れているサイトがなかなかない。

 

・パッケージ配置

f:id:Dizidirio:20210301161013p:plain

パッケージ配置の位置が正しくないとControllerやConfigクラスが正しく機能しない。

[アプリケーション名]Applicationという名称で作られる、

SpringBoot2のエントリーポイントのあるクラスと同じパッケージの中に

分割用のパッケージを配置すること。

 

・Spring securityを使用した認証
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity web)throws Exception{
web.authorizeRequests()
.antMatchers("/css/**", "/images/**", "/js/**","/login-error")
.permitAll()
.anyRequest()
.authenticated();

web.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/join")
.failureUrl("/login-error")
.permitAll();
}
}

認証時、使用するログインページ等を指定するが、

ログインページは.loginPage()、

認証成功時に遷移するページは.defaultSuccessUrl()、

ログイン失敗時に遷移するページは.failureUrl()で指定する。

 

今回、この問題の解決にはTwitterにて、ぢつにんさんにご指導を頂いた。

重ねて御礼を申し上げたい。ありがとうございました。

twitter.com

 

詳細なコードは後ほどGithubで公開する予定。

しかし、まだ未完成なので一度privateに戻しておく。

 

この点を抑えておけばまずは大丈夫と思われる。