是否可以在整个类上添加@Secured或@PreAuthorized注释

Dav*_*rks 19 java spring-mvc spring-security

保护整个控制器类而不是每个方法似乎是合乎逻辑的.我可以这样做:

@Controller
@Secured("ROLE_USER")
public class accountPages {
   //Controllers
}
Run Code Online (Sandbox Code Playgroud)

Aar*_*ers 27

来自Spring Security 3 - PACKT Publishing

请注意,方法级安全注释也可以在类级别应用!方法级注释(如果提供)将始终覆盖在类级别指定的注释

  • 从我的测试来看,这不再是真的.如果您有类级别和方法级别的安全性注释(@Secured或@PreAuthorized),它们都会运行.如果方法级别注释更具限制性,那么这很好.如果限制较少,那么它就不起作用.我最终将限制较少的方法拆分为另一个控制器. (7认同)