Spring Boot/認証/Spring Security/HelloWorld/030_ログアウト

Spring Boot/認証/Spring Security/HelloWorld/030_ログアウト

とりあえずログインの流れはできたのでログアウトを実装する。

このようにしてみる。

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/mylogin", "/hoge").permitAll()
                .anyRequest().authenticated();
        http
            .formLogin()
                .loginPage("/mylogin")
                .loginProcessingUrl("/doLogin")
                .usernameParameter("login_id")
                .passwordParameter("login_password")
                .defaultSuccessUrl("/top");
        http
            .logout()
                .logoutUrl("/doLogout")
                .logoutSuccessUrl("/mylogin");
        http.csrf().disable();
    }
}

かなり適当であるが、IDE の補完を効かせながら設定を書いていけるというのがメリットである。

ではトップ画面に doLogout のリンクを作っておく

<h1>Top</h1>
<a href="/doLogout">Logout</a>

それでは再びやる。ログインに使ったパスワードはサーバが再起動する度に変わるのでコンソールを眺めてそれを使う。

ログインすると Top ページへ遷移してリンクをクリックすると mylogin に戻る。 URLを打ち込んで Top に戻ろうとしても戻れない。認証が機能しているようだ。

java/spring/spring_boot/auth/spring_security/helloworld/030_logout.txt · 最終更新: 2019-06-24 13:22 by ore