我已经浏览了Spring Security视频on this page。
36:30左右,他谈到了使用安全注释和方法签名来保护方法,如下所示:
@Secured("ROLE_USER")
public String create();
为什么我们需要将注释与方法一起保留? (因为安全注释没有任何与方法有关)
我可以将这些注释放到一个单独的文件中,以便我可以在不修改实际代码的情况下更改它们吗? (可能使用类似Spring AOP功能的东西)
答案 0 :(得分:1)
是的,感谢Spring AOP,你可以做到这一点:
<global-method-security>
<protect-pointcut expression="execution(* com.domain.service.*.*(..))" access="ROLE_USER"/>
</global-method-security>
满足您的需求。
从灵活性的角度来看,XML声明很好。考虑以下情况:
只能使用XML。
从可读性的角度来看,注释很好。当您看到某种方法时,您可以直接查看所有安全限制。无需每次都打开一些XML文件并考虑表达式(它是否适用于此方法?)。所以很容易。
不要混用两种方法。这太令人困惑了。检查您的需求并为您选择最适合您的项目。