从stark-security升级到spring安全插件

| 我最近将项目的Grails从1.0.5升级到了1.3.7。 Project使用了Stark-security插件(0.4.3),我想用Spring-security插件(最新版)替换它。我了解Stark安全性某种程度上基于Spring安全性。 Spring安全性与Stark安全性有多少不同,我应该如何解决该问题? 整个系统中都大量使用了Stark-security的静态授权= [...],我只是希望我不需要用完全不同的方式重新实现功能。     
已邀请:
        Stark像Acegi插件一样使用Spring Security 2.0,而较新的Spring Security Core插件使用Spring Security 3,因此它们都使用了基本相同的库。 Spring Security Core中没有类级安全规则配置的概念,但是有多种方法来指定规则-注释(默认),“ 0”中的Map定义所有规则以及将规则存储在数据库中与Requestmap实例。这些内容在http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/的“ 5配置请求到安全URL的映射”一节中进行了描述。 例如,这是我如何将Stark插件文档中的示例转换为在Spring Security Core中使用注释的方式:
import grails.plugins.springsecurity.Secured

class BookController {

   @Secured([\'isAuthenticated()\'])
   def index = { Book.list() }

   @Secured([\'ROLE_EDITOR\'])
   def edit = {
      // Some logic to edit a book
   }
}
这两个插件在方法上有一个重要区别。如果没有为URL定义规则,Stark将拒绝访问,因此您需要对所有内容进行映射。这样比较安全,因为如果您添加了一个新的控制器却忘记了映射它,那么经过身份验证的用户将无法访问它,因此很显然这是有问题的。要在Spring Security Core中启用此行为,只需添加以下行
grails.plugins.springsecurity.rejectIfNoRule = true
grails-app/conf/Config.groovy
    

要回复问题请先登录注册