Spring/Security
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-Spring Securityのまとめ
*構成要素 [#m2950fce]
**処理系 [#dd257394]
|AuthenticationFilter|一番大外のフィルター|
|AuthenticationManager|フィルターから呼ばれ、認証処理を行...
|AuthenticationProvider|認証処理|
|AuthenticationSuccessHandler|認証成功時に呼ばれる。標準...
|AuthenticationFailureHandler|失敗時のHandler。こちらも標...
|UserDetailService|認証をするInterface。AuthenticationPro...
|PasswordEncoder|パスワード暗号化のInterface。実装クラス...
**DTO系 [#u23607d4]
|ユーザー情報|org.springframework.security.core.userdetai...
**イベントリスナー [#l9ddc99f]
@EventListenerがあると呼ばれるようになった。認証成功、セ...
@EventListener
public void handleSuccess(AuthenticationSuccessEvent ...
@EventListener
public void handleFailure(AuthenticationFailureEvent ...
*大元の設定 [#ga8ca0ef]
WebSecurityConfigurerAdapterを継承したものを定義しておく。
*設定 [#g9ac3be4]
**BASIC認証 [#vcd63dee]
http://tnakamura.hatenablog.com/entry/2017/06/22/spring-s...
**DB認証 [#d1457b31]
*認証 [#o7ef158c]
*認可 [#y7868d8e]
*コンポーネント [#o6f1df60]
|Authentication-manager|認証処理を行うが、実際の処理はpro...
|Authentication-provider|実際の認証処理を行う。ユーザー認...
|UserDetailsService|デフォルト実装としてメモリベースやJDB...
*設定 [#wd0c6fd2]
**認証要否 [#g2c1f076]
Configでパス単位で設定するか、各クラスで@PreAuthorize
|permitAll|認証不要|
|isAuthenticated()|認証必須|
***設定例 [#fdaf81ed]
http
.authorizeRequests()
.antMatchers("/css/**", "/fonts/**", "/js...
.anyRequest().authenticated();
**JDBCを使う場合 [#f421079e]
***テーブル定義 [#qb2936f3]
CREATE TABLE USERS (
USERNAME VARCHAR_IGNORECASE(50) NOT NULL PRIMARY KEY,
PASSWORD VARCHAR_IGNORECASE(50) NOT NULL,
ENABLED BOOLEAN NOT NULL
);
CREATE TABLE AUTHORITIES (
USERNAME VARCHAR_IGNORECASE(50) NOT NULL,
AUTHORITY VARCHAR_IGNORECASE(50) NOT NULL,
CONSTRAINT FK_AUTHORITIES_USERS FOREIGN KEY (USERNAM...
CONSTRAINT UK_AUTHORITIES UNIQUE (USERNAME, AUTHORITY)
);
INSERT INTO USERS VALUES ('fuga', 'FUGA', true);
INSERT INTO AUTHORITIES VALUES ('fuga', 'USER');
**アノテーション [#dd4e4ea0]
**XML [#wb7ef0d8]
*OAuth2 [#y1aa3135]
-OAuth2ClientAuthenticationProcessingFilter
*Spring Security OAuth [#hf22dcfb]
終了行:
-Spring Securityのまとめ
*構成要素 [#m2950fce]
**処理系 [#dd257394]
|AuthenticationFilter|一番大外のフィルター|
|AuthenticationManager|フィルターから呼ばれ、認証処理を行...
|AuthenticationProvider|認証処理|
|AuthenticationSuccessHandler|認証成功時に呼ばれる。標準...
|AuthenticationFailureHandler|失敗時のHandler。こちらも標...
|UserDetailService|認証をするInterface。AuthenticationPro...
|PasswordEncoder|パスワード暗号化のInterface。実装クラス...
**DTO系 [#u23607d4]
|ユーザー情報|org.springframework.security.core.userdetai...
**イベントリスナー [#l9ddc99f]
@EventListenerがあると呼ばれるようになった。認証成功、セ...
@EventListener
public void handleSuccess(AuthenticationSuccessEvent ...
@EventListener
public void handleFailure(AuthenticationFailureEvent ...
*大元の設定 [#ga8ca0ef]
WebSecurityConfigurerAdapterを継承したものを定義しておく。
*設定 [#g9ac3be4]
**BASIC認証 [#vcd63dee]
http://tnakamura.hatenablog.com/entry/2017/06/22/spring-s...
**DB認証 [#d1457b31]
*認証 [#o7ef158c]
*認可 [#y7868d8e]
*コンポーネント [#o6f1df60]
|Authentication-manager|認証処理を行うが、実際の処理はpro...
|Authentication-provider|実際の認証処理を行う。ユーザー認...
|UserDetailsService|デフォルト実装としてメモリベースやJDB...
*設定 [#wd0c6fd2]
**認証要否 [#g2c1f076]
Configでパス単位で設定するか、各クラスで@PreAuthorize
|permitAll|認証不要|
|isAuthenticated()|認証必須|
***設定例 [#fdaf81ed]
http
.authorizeRequests()
.antMatchers("/css/**", "/fonts/**", "/js...
.anyRequest().authenticated();
**JDBCを使う場合 [#f421079e]
***テーブル定義 [#qb2936f3]
CREATE TABLE USERS (
USERNAME VARCHAR_IGNORECASE(50) NOT NULL PRIMARY KEY,
PASSWORD VARCHAR_IGNORECASE(50) NOT NULL,
ENABLED BOOLEAN NOT NULL
);
CREATE TABLE AUTHORITIES (
USERNAME VARCHAR_IGNORECASE(50) NOT NULL,
AUTHORITY VARCHAR_IGNORECASE(50) NOT NULL,
CONSTRAINT FK_AUTHORITIES_USERS FOREIGN KEY (USERNAM...
CONSTRAINT UK_AUTHORITIES UNIQUE (USERNAME, AUTHORITY)
);
INSERT INTO USERS VALUES ('fuga', 'FUGA', true);
INSERT INTO AUTHORITIES VALUES ('fuga', 'USER');
**アノテーション [#dd4e4ea0]
**XML [#wb7ef0d8]
*OAuth2 [#y1aa3135]
-OAuth2ClientAuthenticationProcessingFilter
*Spring Security OAuth [#hf22dcfb]
ページ名: