我有一个可能由不同演员编辑的特定实体。该场景的一个很好的例子是系统的用户,他可以编辑他们的个人数据(电话号码,电子邮件,密码),但是不能修改例如他们的特权或用户名,当然可以由超级用户完成。
那么,如果我只是用@PreAuthorize注释setter方法,那会不会太残酷和丑陋?我能想到的唯一缺点是性能损失,但由于没有涉及我正在考虑的实体的批量操作,并且这些设置器永远不会经常被调用,所以它现在似乎不是一个问题。
答案 0 :(得分:1)
我不建议这样做。首先,如果我正确地看到了事情,@PreAuthorize
要求一个类成为一个bean。通常,实体不是spring bean(除非你使用@Configurable
魔法)。所以它不会起作用。
其次,@PreAuthorize
的更好位置是执行修改的业务方法。