用@PreAuthorize注释一个二传手是否过于野蛮?

时间:2011-10-23 22:38:48

标签: java spring spring-mvc spring-security

我有一个可能由不同演员编辑的特定实体。该场景的一个很好的例子是系统的用户,他可以编辑他们的个人数据(电话号码,电子邮件,密码),但是不能修改例如他们的特权或用户名,当然可以由超级用户完成。

那么,如果我只是用@PreAuthorize注释setter方法,那会不会太残酷和丑陋?我能想到的唯一缺点是性能损失,但由于没有涉及我正在考虑的实体的批量操作,并且这些设置器永远不会经常被调用,所以它现在似乎不是一个问题。

1 个答案:

答案 0 :(得分:1)

我不建议这样做。首先,如果我正确地看到了事情,@PreAuthorize要求一个类成为一个bean。通常,实体不是spring bean(除非你使用@Configurable魔法)。所以它不会起作用。

其次,@PreAuthorize的更好位置是执行修改的业务方法。