認証していなくても、呼び出したいAPIをどうするか。
手元の資料が断片的で、どうすればいいのか調べてみるとする。
ググってみると
とある英語のサイトでは、
addFilterBefore
を適切に設定するといいと書いてあるし、
また別のサイトでは
@Override public void configure(WebSecurity web) throws Exception { web.ignoring().antMatchers("/v1/api1").antMatchers("/v1/api2"); }
とかいてある
はまりポイントのサイトがあった
https://qiita.com/R-STYLE/items/61a3b6a678cb0ff00edf
Hello World で学ぶ Spring Security の仕組み
というサイトのリンクもある
https://qiita.com/opengl-8080/items/d4971ec4d2365c85ff99
ざっくりとした、気の利いたコメントのあるサンプルコードは以下のサイトだ
https://codezine.jp/article/detail/11703
さて、それぞれチラ見はしてみたけどどこから手をつけよう
特定のURLを認証から外したいので、上記のサイトの説明通りならば、
自分がやりたいことのサンプルは以下の箇所かもしれない
@Override protected void configure(HttpSecurity http) throws Exception { // (3) 主にURLごとに異なるセキュリティ設定を行う }
WebSecurityConfigurerAdapter? クラスには、
public void configure(WebSecurity web)
メソッドがあって、そのWebSecurity?クラスには、ignoreメソッドがあって、それを使うってこと?
@Override public void configure(WebSecurity web) throws Exception { // Security Filter Chain から除外するパス等を設定 String[] STATIC_RESOURCES = { "/**/css/**", "/**/js/**", "/**/img/**", }; web.ignoring().antMatchers(STATIC_RESOURCES); }
POSTメソッドだから、@RequestParam?でいいかとおもっていたら、json形式で受け取る場合は、 @RequestBody?で受け取る必要があるみたい。