Closed a-pompom closed 5 years ago
以下のように処理を実装した。
UsernamePasswordAuthenticationTokenへユーザ名、パスワードを渡し、認証用トークンを生成
HttpRequest内にセッション情報が存在するかチェックするためWebAuthenticationDetailsをDetailsプロパティへセット
SpringSecurityのAuthenticationManagerへトークン情報を渡すことで認証処理を呼び出す
セッションのユーザ情報をDBへ登録したユーザエンティティの情報で上書き
ホーム画面へリダイレクト
既存の認証処理を利用するには、指定されたパスへPOSTメソッドで遷移する必要があった。ユーザ登録処理では入力値のバリデーションさえ通れば認証可能となるので、コントローラ内へ簡易的な認証処理を作成し、セッションへ認証後のユーザ情報を持たせることでホーム画面へ遷移可能とした。
参考:
現状はログイン画面→ホーム画面への遷移は可能となっている。
しかし、ユーザ登録を行った場合、ホーム画面へ遷移するには ログインの認証機能を通さなければならない。
ユーザ登録画面の入力情報でユーザエンティティの生成 ↓ エンティティをDBへ登録 ↓ login_processing_urlへ遷移
とすることでログインが可能かどうか検証