私は春のブートで正常に動作していたアプリケーションを開発しました。安らかなコントローラがあります。私はいくつかのページに春のセキュリティを追加しようとしました。 残りコントローラのエンドポイントは、私は以下のクラスのセキュリティ設定を構成し春のセキュリティでPOST、PUT、およびDELETEメソッドを有効にする方法
/api/greetings
です。
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home","/api/greetings").permitAll()
//.antMatchers("/api/greetings","").permitAll()//can't do this
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
さて、私は残り-クライアント(ポストマン)から、残りのエンドポイントにアクセスしようとしたとき、GETメソッドのみがアクセス可能であると私はPOSTしようとした場合、私は403禁止応答を取得しています、PUTやDELETE。
{
"timestamp": 1467223888525,
"status": 403,
"error": "Forbidden",
"message": "Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.",
"path": "/api/greetings/2"
}
この問題を解決するにはどうすればよいですか。私はSpring Securityの新機能です。
私はブラウザ以外のアプリケーションなので、csrfを無効にしても問題はなく、うまくいきました。私は興味がありました。もし私がcsrfを無効にしたくないのであれば、私のアプリケーションもWebアプリケーションであれば、私はこのリンクを見つけました。しかしそれを試していないが、すぐに試してみませんか? http://stackoverflow.com/questions/27182701/how-do-i-send-spring-csrf-token-from-postman-rest-client – Rajan