方法安全

    我们可以在任何使用的实例上,使用@EnableGlobalMethodSecurity注解来启用基于注解的安全性。例如下面会启用Spring 的 注解.

    1. public interface BankService {
    2. @Secured("IS_AUTHENTICATED_ANONYMOUSLY")
    3. public Account readAccount(Long id);
    4. @Secured("ROLE_TELLER")
    5. public Account post(Account account, double amount);
    6. }

    使用如下代码启用JSR-250注解的支持

    1. @EnableGlobalMethodSecurity(prePostEnabled = true)
    2. public class MethodSecurityConfig {
    3. }

    和响应的Java代码如下:

    GlobalMethodSecurityConfiguration

    1. @EnableGlobalMethodSecurity(prePostEnabled = true)
    2. public class MethodSecurityConfig extends GlobalMethodSecurityConfiguration {
    3. @Override
    4. protected MethodSecurityExpressionHandler createExpressionHandler() {
    5. // ... create and return custom MethodSecurityExpressionHandler ...
    6. return expressionHander;
    7. }

    关于可以被重载的方法的更多信息,请参考GlobalMethodSecurityConfiguration的java文档。