Spring mvc @预授权不限制用户访问控制器操作

Spring mvc @预授权不限制用户访问控制器操作,spring-mvc,grails,spring-security,Spring Mvc,Grails,Spring Security,使用Grails和。 我有一个控制器: class AdminCompanyController { @PreAuthorize("hasRole('ROLE_ADMIN')") def create() { println("create") [company: new Company()] } } 即使只有rolerole\u user的用户也可以访问create()操作 我知道我可以用spring security annotation@Secured来完

使用Grails和。 我有一个控制器:

class AdminCompanyController {

  @PreAuthorize("hasRole('ROLE_ADMIN')")
  def create() {
    println("create")
    [company: new Company()]
  }

}
即使只有role
role\u user
的用户也可以访问
create()
操作

我知道我可以用spring security annotation
@Secured
来完成,但我想用ACL来完成

如何防止没有
角色的用户使用ACL访问
create()
操作?

编辑:我使用Grails2.4.5和

    compile ":spring-security-core:2.0-RC5"
    runtime ':spring-security-acl:2.0-RC2'

@必须在服务中使用预授权。在控制器中,您必须与@securied一起使用。

@PreAuthorize必须用于服务中。在控制器中,您必须使用@securied。

您是否已将
@EnableGlobalMethodSecurity(preprestenabled=true)
添加到您的安全配置中?否,我必须将其放置在何处?您可以发布一个简短的示例吗?@Mati回想一下我想使用ACL吗?此注释应启用类似于
@PreAuthorize
的注释,它也是ACL的一部分。你使用哪个版本的grails?@Mati我在编辑中发布了它。无法解析对
@EnableGlobalMethodSecurity
的依赖关系。是否已将
@EnableGlobalMethodSecurity(preprestenabled=true)
添加到安全配置中?否,我必须将其放置在何处?您可以发布一个简短的示例吗?@Mati回想一下我想使用ACL吗?此注释应启用类似于
@PreAuthorize
的注释,它也是ACL的一部分。你使用哪个版本的grails?@Mati我在编辑中发布了它。无法解析
@EnableGlobalMethodSecurity
的依赖关系。它实际上可以在控制器上使用它实际上可以在控制器上使用