-Spring Securityのまとめ

*大元の設定 [#ga8ca0ef]

WebSecurityConfigurerAdapterを継承したものを定義しておく。


*認証 [#o7ef158c]

*認可 [#y7868d8e]

*コンポーネント [#o6f1df60]

|Authentication-manager|認証処理を行うが、実際の処理はproviderに委譲|
|Authentication-provider|実際の認証処理を行う。ユーザー認証はまたUserDetailServiceへ|
|UserDetailsService|デフォルト実装としてメモリベースやJDBCが容易されている。|




*設定 [#wd0c6fd2]

**認証要否 [#g2c1f076]

Configでパス単位で設定するか、各クラスで@PreAuthorize

|permitAll|認証不要|
|isAuthenticated()|認証必須|

***設定例 [#fdaf81ed]

        http
                .authorizeRequests()
                .antMatchers("/css/**", "/fonts/**", "/js/**").permitAll()
                .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 (USERNAME) REFERENCES USERS(USERNAME),
     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

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS