5

Web 上のガイドに従って、Spring セキュリティを使用して Web サイトを保護しようとしています。ユーザーが Web ブラウザ経由でアプリケーションを使用することを望まないため、csrf 保護を無効にしました。サーバー側のソース コード:

    @Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
implements ApplicationContextAware {

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
        .authorizeRequests().anyRequest().authenticated().and()
        .httpBasic().and()
        .csrf().disable();
    }

@Override
protected void registerAuthentication(AuthenticationManagerBuilde r authManagerBuilder) throws Exception {
authManagerBuilder.inMemoryAuthentication()
.withUser("user").password("password").roles("ADMI N");
}
}

@Controller
//@RequestMapping("/course")
public class CourseController implements ApplicationContextAware{

@RequestMapping(value="/course", method = RequestMethod.GET, produces="application/json")
public @ResponseBody List<Course> get(// The critirion used to find.
@RequestParam(value="what", required=true) String what,
@RequestParam(value="value", required=true) String value) {
//.....
}

@RequestMapping(value="/course", method = RequestMethod.POST, produces="application/json")
public List<Course> upload(@RequestBody Course[] cs) {
}
}

クライアント側で RestTemplate を使用しています。問題は、POST メソッドを使用すると、サーバー側で警告が表示されることです: osweb.servlet.PageNotFound : リクエスト メソッド 'POST' はサポートされていません

クライアント側では、次のようになりました: Exception in thread "main" org.springframework.web.client.HttpClientErrorException: 405 Method Not Allowed

コントローラーで POST メソッドを既に処理しているため、この例外が発生したのは奇妙です。現在、システムはまだ機能していますが、この問題が気になります。何か案が?ありがとう。

4

2 に答える 2