アプリケーションにセキュリティを実装する際に問題があります... カスタム認証があり、@PreAuthorize を使用してユーザー認証を処理しています。これはうまくいきます。ここで、ユーザーごとにアクセス制御を実装したいと考えています。つまり、私のアプリケーションでは、'Admin' と 'John' の 2 人のユーザーがメソッドを呼び出すことができます。
@RequestMapping(value = "/load/{id}", method = RequestMethod.GET)
@ResponseBody
public StudentYearViewModel load(@PathVariable long id) {
return ModelMapper.map(iStudentService.loadByEntityId(id), StudentViewModel.class);
}
「管理者」はすべての生徒インスタンスに対してこのメソッドを使用できますが、「ジョン」は同級生しか見ることができません! すべてのユーザーがこのメソッドを呼び出すことができます (@PreAuthorize は適していません) が、アクセスは制限されています。今、一般的な方法がありますか?
ACL は最良の方法ですか?(最良の例はありますか?)
HDIVフレームワークは私の問題を解決するのに役立ちますか??
最善の解決策は何ですか?