templates - 如何给模板添加安全注解?

标签 templates grails groovy

我希望我的模板能够更智能地生成 Controller 。在我的域类中,我指定了一个枚举,其中包含应添加到 Controller 中的安全注释中的属性。

static enum SecurityProperties {
    ROLE_SUPER_USER( "ROLE_SUPER_USER" ),
    IS_AUTHENTICATED_FULLY( "IS_AUTHENTICATED_FULLY" )

    SecurityProperties( String s ) {
        this.s = s
    }

    @Override
    public String toString() {
        return s;
    }        
}

我希望模板在生成 Controller 时查看此枚举并在 Controller 中创建安全注释。我经常使用模板,运行 generate-all 然后必须为我的所有 Controller 添加安全注释是一个主要烦恼。

我的问题是,我在从模板访问枚举时遇到问题,因为我无法获取域类。

我通常会得到这样的域类:

grailsApplication.getArtefact( "Domain", "myDomainClass" )?.getClazz()

但是 grailsApplication 在模板中不可用。

还有什么其他 Grails/Groovy 方法可以获取类或使 grailsApplication 可用?

最佳答案

在脚手架模板中,您有一个可用的 domainClass 变量,其中包含 GrailsDomainClass,因此 domainClass.clazz 应该为您提供您想要的内容需要。

关于templates - 如何给模板添加安全注解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11365577/

相关文章:

java - Gradle-build JavaFX 项目无法在 Windows 中运行

c++ - SFINAE: std::enable_if 作为函数参数

具有可变参数的 C++ 模板类构造函数

c++ - 手动选择右值或左值类型的重载函数

grails - 什么是 Assets 管道插件和资源插件?它们之间有什么不同呢?

java - 在 Groovy 中动态地将元素添加到 ArrayList

C++ 模板选择 - 异常情况

hibernate - Grails save(flush:true)不会立即持久保存到数据库

database-design - GORM ID的生成和belongsTo关联?

java - 是否仍然建议使用 eclipse/intellij 进行 grails 开发?