当前位置: 首页 > 知识库问答 >
问题:

Groovy:使用Grails和Spring Security核心插件时出现意外标记

连时铭
2023-03-14

我需要将Spring Security内核添加到Grails中。我已经使用:BuildConfig将spring核心安全插件添加到grails 2.3.8应用程序中。groovy插件{…编译“:Spring Security核心:2.0-RC4”。。。

然后是s2 quickstart sim GUser GRole

文件GUserGRole。groovy包含以下错误:

Groovy:意外标记:validator@第82行,第9列。此行有多个标记-Groovy:应为EOF,在第83行第4列找到“if”。-Groovy:意外标记:if@第83行,第4列。

对应于以下代码

static constraints = {
    GRole validator: { GRole r, GUserGRole ur ->
        if (ur.GUser == null) return
        boolean existing = false
        GUserGRole.withNewSession {
            existing = GUserGRole.exists(ur.GUser.id, r.id)
        }
        if (existing) {
            return 'userRole.exists'
        }
    }
}

如何解决这个问题?如何将Spring Security核心干净地添加到Grails??

共有3个答案

李谦
2023-03-14

请在此处查看讨论Groovy:意外令牌":"?

由于代码是自动生成的,您应该手动更正类变量的名称,并将其更改为“GRole-GRole”到“GRole-GRole”。

骆文华
2023-03-14

一个问题是GRole验证器validator之前的东西应该是被约束的属性的名称,而不是类型。如果属性称为gRole,那么代码应该是gRole validator。该属性真的称为GRole吗?如果是,那可能会有问题。

齐元章
2023-03-14

S2Quick-start使用GrailsNameUtils.get属性名称表示为您的域类生成实例字段。使用一个可以生成合适字段名的名称,否则字段名和类名是相同的。

 //This is fine - generates 'user'
 GrailsNameUtils.getPropertyNameRepresentation("User") 

 //This is fine - generates 'myUser'
 GrailsNameUtils.getPropertyNameRepresentation("MyUser")

 //Not fine. Generates 'GRole' which is same as your class name
 GrailsNameUtils.getPropertyNameRepresentation("GRole")
 类似资料:
  • nit.java:593nit.java:569AntlrParserPorg.codehaus.groovy.control.CSTIntoAST(AntlrParserPnit.compile)在nit.java:546AntlrParserPgroovy.lang.CST(AntlrParserPoader.do)在oader.java:298SourceUnit.parse(SourceU

  • 我正在一个开发应用程序中通过GGTS3.4.0使用grails 2.3.3,现在我想开始使用Spring security core插件。 在buildconfig文件的插件部分中,并: 在文件的存储库部分有相同的依赖关系错误问题。 我使用的Grails/ggts版本的插件版本是否错误? http://mvnrepository.com/artifact/:http://mvnrepository

  • 我正在尝试将安全插件3.2.1用于grails 3.3.5。

  • 我正在Jenkins文件中运行以下groovy脚本,该文件在构建期间执行: 上述参数值代码的预期结果等于: 是: 但是,在Jenkins上执行此代码时,我收到一个奇怪的错误,我无法理解(为什么会发生): hudson.remoting.ProxyExc0019:org.codehaus.groovy.runtime.typehandling.GroovyCastExc0019:无法将对象'Samp

  • 使用汇总打包Vue组件时,会出现此错误: 卷起来。配置。js: 按钮vue: 有解决办法吗? 所以我找到了一个更好的方法: 最好使用vue sfc汇总来打包vue组件。

  • 我使用的是Grails 2.2.2,通过在BuildConfig中添加以下几行,我已经安装了spring-security-core-2.0-RC2。groovy文件: 插件安装成功,我已经使用s2快速入门脚本创建了安全域和控制器。 现在,我用以下代码更新了我的一个控制器: 但是,当我尝试运行该应用程序时,出现以下错误: |错误编译错误:启动失败:C:\workspace\SW开发\生产\MyGr