Spring Security でのロール管理の修正
Spring Security のロールベースのアクセス制御に関する問題は、リクエストマッチャーの順序に起因します。リクエストのマッチャーは、特定のロールベースのマッチャーの後に来る必要があります。
これを解決して管理者アクセスを制限するには、構成を次のように変更します。
@Override protected void configure(HttpSecurity http) throws Exception { http .csrf().disable() .httpBasic() .and() .authorizeRequests() .antMatchers("/users/all").hasRole("admin") .anyRequest().authenticated() // Moved after role-based matcher .and() .formLogin() .and() .exceptionHandling().accessDeniedPage("/403"); }
この構成では、リクエストは / users/all には管理者ロールが必要ですが、他のすべてのリクエストには認証されたユーザーが必要です。
以上がSpring Security でロールベースのアクセス制御のためにリクエスト マッチャーを正しく順序付ける方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。