【SpringSecurity】#3~ 独自のログイン画面

当ページのリンクには広告が含まれています。
目次

概要

オリジナルのログイン画面を実装する方法です。
以下の内容になっています。

  • ログイン用のHTMLを用意する。
  • Controllerにログインの遷移先を定義する。
  • SecurityConfigクラスに独自ログイン画面の設定をする。
  • ログアウトボタンを設置する。

SpringSecurityの公式サイトをベースにしていますので、
そちらも参照頂けばと思います。
10.10.1. フォームログイン

実装

ログイン画面

まず最初にログイン画面を用意します。
配置先:src/main/resources/templates/login.html

・${param.error}, ${param.logout}
ログインエラー時とログアウト時に表示するメッセージを定義しています。

Controller

ログイン画面に遷移できるように、LoginControllerを作成します。
配置先:src/main/java/com/example/demo/controller/LoginController.java

SecurityConfig

オリジナルのログイン画面を使用できるようにするための設定を追加します。
配置先:src/main/java/com/example/demo/SecurityConfig.java

    • http.authorizeRequests()

permitAll()に”/login”のURLを追加します。
これで誰でもアクセス可能になります。

    • http.formLogin()

loginPage(“/login”)
⇒GETでアクセスするログイン画面のURLを指定します。

loginProcessingUrl(“/login”)
⇒POSTでリクエストするログイン用のURLを指定します。

ログアウト

SpringBootチュートリアルに追加する形で実装しているので、
header.htmlにログアウトボタンを追加しました。
配置先:src/main/resources/templates/header.html

基本的にPOSTリクエストすることになります。

デザインを変えたい場合

Bootstrapを使った例を追加しましたので、参考にしてみて下さい。
ログイン画面をデザインしよう!

まとめ

  • オリジナルのログイン用HTMLを用意すること。
  • Controllerにログイン画面への遷移先を定義すること。
  • SecurityConfigクラスにログイン画面の設定を追加すること。
  • ログアウトはPOSTで実装できる。

参考


後悔しないためのSpring Boot 入門書:Spring 解体新書(第2版): Spring Bootが丸分かり Spring解体新書

最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

リーマンショックの影響で26歳の時にIT業界から離れ、紆余曲折を経て34歳でエンジニアに復帰しました。
復帰前は開発未経験でしたが、独学した知識と面接時のコミュニケーション力で見事開発エンジニアとして復帰しました!
今はフリーランスエンジニアとして仕事をしています。

■保有資格
・Java Gold SE 11

コメント

コメントする

CAPTCHA


目次