REST API用にSpringSecurityを構成しました(HeaderHttpSessionStrategyを使用)。
私の「WebSecurityConfigurerAdapter」の実装は次のようになります。
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/user/**").authenticated()
.antMatchers("/**").permitAll()
.and()
.requestCache()
.requestCache(new NullRequestCache())
.and()
.httpBasic()
;
}
ここで、基本認証が特定のエンドポイントでのみ可能になるように、「HttpSecurity」オブジェクトを構成するにはどうすればよいですか。
例えば:
/ user / login:基本認証はこのエンドポイントでのみ可能である必要があります。認証が成功すると、x-auth-tokenヘッダーが返されます。
/ user / create:クライアントはこのエンドポイントで認証できないようにする必要があります。401のみを返す必要があります。/user/loginエンドポイントを使用して作成された「x-auth-token」を使用してのみアクセスできます。
複数WebSecurityConfigurerAdapter
のを定義できます。適用性を「いい/user/login
ね」に制限するリクエストマッチャーを備えた優先度の高いhttp.requestMatcher(new AntPathRequestMatcher("/user/login"))
ものの1つと、残りのキャッチオールとしてのもう1つ。を省略requestMatcher
して、http定義を無制限にすることができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加