Springboot2でポートフォリオチャレンジ。
お久しぶりです。
最近また色々触り始めたので、備忘録として。
技術的なものですが、Springboot2で認証とサイトの基礎を作るお話です。
Springboot2の踏みやすい地雷
以下2点が特に引っかかりやすいものだと思う。
このあたりの話を触れているサイトがなかなかない。
・パッケージ配置
パッケージ配置の位置が正しくないと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にて、ぢつにんさんにご指導を頂いた。
重ねて御礼を申し上げたい。ありがとうございました。
詳細なコードは後ほどGithubで公開する予定。
しかし、まだ未完成なので一度privateに戻しておく。
この点を抑えておけばまずは大丈夫と思われる。