[解決済み] Spring Security 403エラー
2023-04-19 15:17:01
質問
Web上のガイドに従って、Spring securityを使用して自分のウェブサイトを保護しようとしています。私のサーバー側では、WebSecurityConfigurerAdapterとコントローラは次のようになります。
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
implements ApplicationContextAware {
@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) {
}
}
私が非常に混乱したのは、GETメソッドは問題なく動作するのに、POST/DELETEメソッドにサーバーが応答しないことです。ちなみに、クライアント側でRestTemplateを使用しています。例外はあります。
Exception in thread "main" org.springframework.web.client.HttpClientErrorException: 403 Forbidden
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:574)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:530)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:487)
at org.springframework.web.client.RestTemplate.delete(RestTemplate.java:385)
at hello.Application.createRestTemplate(Application.java:149)
at hello.Application.main(Application.java:99)
何日もネットで検索してみたが まだ手がかりがありません。どうか助けてください。本当にありがとうございます。
どのように解決するのですか?
この問題の原因は、おそらく CSRF保護 . ユーザーがウェブブラウザでアプリケーションを使用しない場合。 であれば、CSRFを無効にするのが安全です。 の保護を無効にしても問題ありません。そうでない場合は リクエストにCSRFトークンを含める .
への CSRF保護を無効にする を使用することができます。
@Configuration
@EnableWebSecurity
public class WebSecurityConfig
extends WebSecurityConfigurerAdapter implements ApplicationContextAware {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
// ...
.csrf().disable();
}
@Override
protected void registerAuthentication(AuthenticationManagerBuilder authManagerBuilder) throws Exception {
authManagerBuilder
.inMemoryAuthentication()
.withUser("user").password("password").roles("ADMIN");
}
}
関連
-
[解決済み] Springのオートワイヤリングの仕組みは?
-
[解決済み] Spring Securityを使用する場合、Beanで現在のユーザー名(つまりSecurityContext)情報を取得する適切な方法は何ですか?
-
[解決済み】Spring SecurityのRoleとGrantedAuthorityの違いについて
-
[解決済み] Spring Boot - 実行中のポートを取得する方法
-
[解決済み] Spring DAOとSpring ORMとSpring JDBCの比較
-
[解決済み] kotlinで@Autowiredのようなspringアノテーションを使用する方法とは?
-
[解決済み] RequestBodyと@RequestParamの違いは何ですか?
-
[解決済み] モックMVC - リクエストパラメータをテストに追加する
-
[解決済み] クオーツ 決して実行されないCron式
-
[解決済み] SpringでSession Objectを取得するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Springのセキュリティ認証の例外を@ExceptionHandlerで処理する
-
[解決済み] Spring Hibernate - 現在のスレッドでトランザクションに同期したセッションを取得できませんでした。
-
[解決済み] java:comp/env/は何をするところですか?
-
[解決済み] Spring Dataです。"delete by "はサポートされていますか?
-
[解決済み] 同じurlパターンに対して異なる引数で2つのメソッドを作成する
-
[解決済み] なぜ春になると静電場が自動化されないのか?
-
[解決済み] Spring RestTemplateでSSL証明書検証を無効にする
-
[解決済み] Spring CORS 'Access-Control-Allow-Origin' ヘッダが存在しない。
-
[解決済み] URI [/WEB-INF/pages/apiForm.jsp] を持つ HTTP リクエストのマッピングが見つかりません [重複]。
-
[解決済み] SpringでSession Objectを取得するには?