私は現在、以下を確認できるアプリケーションに取り組んでいます。
- コントローラ A: service.getSession(userId, Status.Started);
- コントローラ B: service.getSession(userId, Status.Done);
(ここで、ステータスは可能なステータスの列挙を表します)
- サービス: getSession(Long id, Status status);
コントローラー A にアクセスしようとするユーザーには特定の役割があり、B にアクセスするユーザーには他に 2 つのサービス メソッドがあるはずなので、正しくないと思います。
- getSessionReady(ロング ID);
- getSessionClosed(ロング ID);
そうすることで、Spring セキュリティを明確に使用でき、適切なロールが適切なサービス メソッドにアクセスできるようになります。2 つのメソッドを作成する必要がありますが、アプリを保護しやすくなり、サービス層の目標は実際にアクセスを制限してロジック エラーを制限することですよね?