ポイント

用語集

Security Principal主体のことでセキュリティ文脈においては認証ユーザー
Authentication認証
Authorization or Access Control認可
UserDietailServiceユーザーの検索とPW認証を行うクラス

Authentication

org.springframework.security.authentication.ProviderManagerがデフォルト。 実際に認証を担当するのはAuthenticationProviderでProviderManagerが内部でprovidersをlistで持っており、ループで回してサポートされるトークンの認証を請け負う。

DaoAuthenticationProviderDB認証だがメモリDBでも利用される

パスワード認証

https://arakan-pgm-ai.hatenablog.com/entry/2018/03/22/060000

filter

AbstractAuthenticationProcessingFilter オーバーライドメソッド

attemptAuthenticationでユーザー情報をRequestやReponseからセットするが、実は認証はAuthenticationManagerに移譲しており、ここでは認証していないという。 prepareAuthenticationが正しいメソッド名。戻り値のAuthenticationの実装クラスのauthenticatedがtrueであれば成功とみなしている

OAuth2ClientAuthenticationProcessingFilter

OAuth2の認証

UsernamePasswordAuthenticationFilter

一番シンプルにフォームのID/PWで認証する形式。UsernamePasswordAuthenticationTokenにID/PWを格納してAuthenticationManagerに処理は移譲する。

AbstractAuthenticationTokenのサブクラスの一つUsernamePasswordAuthenticationTokenで、このTokenのタイプごとに認証方式を切り替えることができる。

RememberMeAuthenticationFilter

Cookieにより長期間ログインをさせたい場合に使うfilter

DigestAuthenticationFilter

http://www.ne.jp/asahi/hishidama/home/tech/java/spring/boot/web/basic-auth.html

参考サイト

割と古いがシンプル。ただしslake

https://qiita.com/literalice/items/face0a467f1477348e6b

こちらの方が2.0系でgithub

https://qiita.com/yoshikawaa/items/5bc6cabbc2e5815f011c

OAuth2.0で必要な固有接続情報はclient-idとsecretのみ。あとはサイトで一定。

認証のフローとカスタマイズ

https://www.memory-lovers.blog/entry/2018/01/10/013508

デフォルトBasic認証のUSER/PW

ユーザーはuserでパスワードはコンソール起動時に毎回変わるので実用性はない!

Using generated security password: 54847ad0-58da-4aa8-bb2b-40b4211e81ad

OAuth2有効化

  1. @EnableOAuth2Ssoをエントリーポイントにつける

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-10-14 (金) 13:16:53