私のシステムでは、ユーザは自分のパスワードを変更したいと仮定します。彼はPUT
リクエストを送信し、UserRepository.save()
を呼び出します。彼がリクエストにハックすると、彼は[user].admin_rights=1
またはそれに類するものを設定するかもしれない。Spring JPAを使用してセキュリティリスクを回避するにはどうすればよいですか?
@Entity public class User {
@Column(updatable=false) private Boolean admin_rights;
// ....
が、管理者は1日、このフィールドを更新するために必要な場合があります:
今、私はおそらく、それぞれのフィールドに@Column(updatable=false)
を追加することができます!
更新する列を指定するカスタムクエリを記述する必要がありますか?または、User
エンティティ内でこの権限の問題を解決する方法はありますか?
春のセキュリティをチェックしてください。特に '@ PreAuthorize'インターセプトを使用してください。 – CollinD