0

プロジェクトにオブジェクト レベルのアクセス許可を実装したいと考えています。より具体的には、User、School、および Student クラスがあります。各生徒は 1 つの学校に所属します。システムの各ユーザーも学校に所属します。したがって、システムの各ユーザーは、自分の学校に所属する生徒にのみアクセスできます。

spring security ACL の助けを借りてこれを実行できることを多くの場所で読みました。これには、データベースに多数の ACL_ テーブルを作成し (間違っていなければ 4 つ)、オブジェクトごとに特定の権限を持たせる必要があります。したがって、 ACL_ENTRY にはオブジェクトと同じ数の行があります。

オブジェクトは、誰がアクセス権を持っていて、誰がアクセス権を持っていないかを既に知っているため、これは私のアプリケーションにとってやり過ぎです。私が欲しいのは、更新するオブジェクトが特定のユーザーに属しているかどうかを確認し、それを許可するかどうかを返すことです。同じことが選択にも当てはまります - 特定のユーザーに属するオブジェクトを返すだけです。

私が理解していることから、これはデータアクセスレイヤーで行う必要があります-他の場所で行うと、クエリで問題が発生します(すべてのオブジェクトを1つずつチェックして、それらが特定のユーザー)。私のデータ アクセスには、JpaRepository を拡張するインターフェイスを備えたspring-dataを使用しています。保存/選択のための独自のメソッドを追加できますか? これらのメソッドから User オブジェクトを取得するにはどうすればよいですか? 私が始めるのを助けるために誰かが似たようなことをしましたか?

4

1 に答える 1