私は春のブートセキュリティで少し演奏しました。そして、私はmongodb、spring-boot-starter-data-rest、spring-boot-starter-security、spring-boot-starter-webを使用します。私は、RESTサービスのような自動公開レポジトリの可能性を使用しました。私は2つのリポジトリのユーザーと顧客を持っています。ユーザーリポジトリはアカウント用です。 した後、このような拡張WebSecurityConfigurerAdapter:春のブートでサービスを休止するアクセス制御
@Override
protected void configure(HttpSecurity http) throws Exception {
super.configure(http);
http.authorizeRequests()
.antMatchers("https://stackoverflow.com/users/**")
.hasRole("ADMIN").antMatchers("/", "/customers")
.hasRole("USER")
.anyRequest().authenticated()
.and()
.formLogin().permitAll();
}
Aは、彼らがADMINの役割を持っているユーザーと/ユーザー/ページへのアクセスを制御することはできません。私はサービスにアクセスする際に認証を取得しましたが、すべてのユーザーがすべてのロールであらゆる場所にアクセスできます。何がまだ設定されるべきですか?
はい、どのクラスからのメソッドに?エンティティクラスusers.javaとcustomer.javaだけがあります。私は自動生成RESTを使用しますか? – vmaric
したがって、Spring Data JPAリポジトリを明示的に使用してコントローラ+サービス層を明示的に実装する必要があります。その後、 '@ PreAuthorize' /' @ PostAuthorize'に最適な場所はサービスレイヤメソッドです。 – luboskrnac
MongoDB自動エクスポージャーエンティティ(RESTを生成したもの)を使用できません。アクセスコントロールを実装したいと思いますか? – vmaric