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 メソッドを既に処理しているため、この例外が発生したのは奇妙です。現在、システムはまだ機能していますが、この問題が気になります。何か案が?ありがとう。