方法安全

    这个元素用来在你的应用程序中启用基于注解的安全性(通过设置元素的appropriate属性),同时分组将应用到整个应用程序上下文的安全切入点声明。你应该只定义一个<global-method-security>元素。下面的定义可以开启Spring Security的@Secured支持:

    添加一个注解到类或者接口的方法中可以限制对相应方法的访问。Spring Security的原生注解支持定义了一套用于该方法的属性。这些将被传递到AccessDecisionManager用来做实际的决定:

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

    这些都是基于标准的,并允许应用简单的基于角色的约束,但是没有Spring Security的原生注解强大。要使用新的基于表达式的语法,你可以使用

      等价的Java代码如下

      使用protect-pointcut添加切入点保护

      1. ```xml
      2. <global-method-security>
      3. <protect-pointcut expression="execution(* com.mycompany.*Service.*(..))"
      4. access="ROLE_USER"/>