title: Does Spring Security have a 'hasAllRole' that performs the AND version of 'hasAnyRole'
body: <p>I'm using Spring Security in Grails to restrict access to my controllers.  I have a use case where I want to check that a user has multiple roles assigned.  I realize I could just make another role that is synonymous with 'person has these two roles', but it would require much more changes than I'd like.  </p>
  
  <p>Spring Security has an OR version <a href="http://static.springsource.org/spring-security/site/docs/3.0.x/reference/el-access.html" rel="nofollow">expression</a> to check if a user has any of a list of roles:</p>
  
  <pre><code>//allow user to access if he has role ROLE_ADMIN -OR- ROLE_USER
  //note this is shortcut notation for hasAnyRole(["ROLE_ADMIN","ROLE_USER"])
  @Secured(["ROLE_ADMIN","ROLE_USER"])
  def index = {}
  </code></pre>
  
  <p>Is there a method, or just way using <a href="http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/expressions.html" rel="nofollow">Spring Expression Language (SpEL)</a> to do the following:</p>
  
  <pre><code>//allow user to access if he has role ROLE_ADMIN -AND- ROLE_USER
  @Secured("hasAllRole(['ROLE_ADMIN','ROLE_USER']")
  def index = {}
  </code></pre>
  
  <p>Note:  SpringSecurityUtils class does have the method </p>
  
  <pre><code>public static boolean ifAllGranted(final String roles)
  </code></pre>