Grails 什么';为开发人员提供脚手架的最佳方式是什么?

Grails 什么';为开发人员提供脚手架的最佳方式是什么?,grails,scaffolding,urlmappings.groovy,Grails,Scaffolding,Urlmappings.groovy,我正在Grails 2.0.RC1的一个项目中工作,我希望能够将搭建好的控制器和视图保存到我的域对象中,使其成为“低级”的、仅限开发人员的访问权限,以便在开发视图和控制器的生产版本(具有类似的名称,特别是对于控制器)。我想保留它们的原样,这样我可以在更新域层时重新生成它们,所以仅仅移动它们很可能不起作用 我希望有一种方法可以实现一些UrlMapping魔术,让我可以将“/mgr/book”的请求转到搭建的book控制器,但“/book”将转到我的生产控制器。我在文档中找不到关于如何为特定的控制器

我正在Grails 2.0.RC1的一个项目中工作,我希望能够将搭建好的控制器和视图保存到我的域对象中,使其成为“低级”的、仅限开发人员的访问权限,以便在开发视图和控制器的生产版本(具有类似的名称,特别是对于控制器)。我想保留它们的原样,这样我可以在更新域层时重新生成它们,所以仅仅移动它们很可能不起作用

我希望有一种方法可以实现一些UrlMapping魔术,让我可以将“/mgr/book”的请求转到搭建的book控制器,但“/book”将转到我的生产控制器。我在文档中找不到关于如何为特定的控制器组进行映射的任何内容(不通过名称和$controller符号指定每个控制器)


我的另一个想法是将我的域层变成一个插件,然后创建一个单独的项目,该项目只用于框架视图。在投入生产之前,这将更容易删除,但似乎还有更多的工作要做,并提出了在同一个盒子上同时运行两个grails应用程序的问题。

如果您使用Spring Security,您应该能够使用or来保护控制器URL

如果您的脚手架控制器仅用于脚手架(并且没有其他操作),那么您应该能够使用basic来保护整个控制器

然后,您可以像普通一样使用脚手架,在登录后进行保护


其他安全框架可能会提供类似的访问控制。

我建议您按照上一个想法去做。这也是我常用的方法:

  • 为您的域模型和公共服务创建一个可嵌入的插件。这还包括常见的插件,如spring security等。这也将减少主应用程序btw的依赖项解析时间
  • 为你的脚手架视图创建一个可嵌入的插件。更改脚手架控制器的模板以要求身份验证和管理组
  • 您的主应用程序使用这两个插件
  • 这可以让你的主应用程序保持干净和简单,你仍然可以根据自己的意愿重新生成所有的框架视图和控制器。至少EclipseST热部署仍然可以工作

    然而,目前还没有一个简单的解决方案可以从URL角度来分离你的脚手架控制器