私は十数種類の設定を試しましたが、私が試みているユースケースを実行するためにSpring Securityを取得することはできません。 私はセキュリティが指定されたURLに次Spring Securityコンフィグレーションで特定のURLの認証をスキップしない
基本認証を使用(/ API /サービス/ **)
他のすべてのURLの
で送信された場合は基本認証を検証しないでくださいをしたいです
現在のところ、/ api/service/**以外のURLにリクエストを送信するときは、基本認証トークンを送信して認証しようとすると、それはうまく動作します。私はトークンが他のすべてのURLのために完全に無視されることを望んでいません。それを行う方法はありますか?
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests().antMatchers("/api/service/**").hasRole("ROLE_SERVICE")
.and()
.httpBasic().authenticationEntryPoint(authenticationEntryPoint)
.and()
.exceptionHandling().accessDeniedHandler(new RestAccessDeniedHandler())
.and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
私も.authorizeRequests().antMatchers("**").anonymous()
と.authorizeRequests().antMatchers("**").permitAll()
を追加しようとしたが、これらのいずれもトリックを行っています。また、.httpBasic()を削除しようとしましたが、検証は行われませんでした。
ご協力いただければ幸いです。
使用方法:Springセキュリティ3.2.9.RELEASEおよびSpring MVC 3.2.13.RELEASE。
ので、あなたが認証を必要としない、それはとにかく認証しようとしたURLに認証ヘッダでリクエストを送信するとき? – Reek
正しいですが、私は奇妙なユースケースのように聞こえますが、APIのほとんどは完全にオープンしているので、他のものがヘッダーに異なる認証を追加するかどうかを制御できないため、特定のものでのみ認証できるようにしたい。 編集:無効な基本認証トークンを指定した場合は、それが悪いときです。/api/service/**のために正しく検証される基本認証トークンを他のAPIに提供すると、(それはSpring Securityを通じて認証されるので)動作します。 – Craig