とりあえず、Getting Startedをやるべき。
実際にやってみたのでメモを残す。
build gradle
以下の2行を追加する。
implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.security:spring-security-test'
WebSecurityConfig
WebSecurityConfig
クラスを作成し、各メソッドをoverride
することで、実際の設定を記述できる。
configureメソッド
configure
メソッドはリクエストURLに対して、認証の要否を記述する。具体的なコードは以下。
http .authorizeRequests().antMatchers("/", "/home").permitAll() .anyRequest().authenticated() .and() .formLogin() .loginPage("/login") .permitAll() .and() .logout() .permitAll();
上記のように書くことで、
* /
および /home
は認証が不要。
* 上記以外のリクエストは認証を必要とする。
* ただし、login
リクエストは認証不要
といった具合に動く。
userDetailsServiceメソッド
UserDetails user = User.withDefaultPasswordEncoder() .username("user") .password("password") .roles("USER") .build(); return new InMemoryUserDetailsManager(user);
- ユーザーネームに
user
、パスワードにpassword
が来た場合に許可する。 - ロールを
USER
とする
以上。