为开发人员访问保存脚手架的最佳方法是什么?

时间:2011-11-04 02:37:33

标签: grails scaffolding urlmappings.groovy

我正在使用Grails 2.0.RC1中的一个项目,我希望能够将我的域对象的脚手架控制器和视图保存为“低级别”,开发人员只能访问仍然修补能够开发视图和控制器的生产版本(具有相似的名称,特别是对于控制器)。我想保留原样,因此我可以在更新域图层时重新生成它们,因此移动它们很可能无法正常工作。

我希望有一种方法可以做一些UrlMapping魔法让我对“/ mgr / book”的请求转到脚手架的Book控制器,但是“/ book”会转到我的生产控制器。我在文档中找不到关于如何为特定控制器组设置映射的任何内容(没有按名称指定每个控制器而不是$控制器符号)。

我的另一个想法是将我的域层变成一个插件,然后创建一个单独的项目,它只适用于scaffolded视图。这在开始制作之前更容易删除,但似乎也更有效,并且引发了在同一个盒子上同时运行两个grails应用程序的问题。

2 个答案:

答案 0 :(得分:1)

如果您使用的是Spring Security,则应该可以使用InterceptUrlMapRequestMap Instances来保护控制器网址。

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

然后你可以像正常一样使用脚手架,在登录后保护。

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

答案 1 :(得分:1)

我会让你像你最后的想法一样前进。这也是我的常用方法:

  1. 为您的域模型和常用服务创建一个可嵌入的插件。这还包括常见的插件,如弹簧安全和东西。这也将减少主应用程序btw的依赖关系解析时间。
  2. 为您的脚手架视图创建一个可嵌入的插件。更改脚手架控制器的模板以要求身份验证和admin-group。
  3. 您的主应用程序使用两个插件。
  4. 这使您的主应用程序保持干净简洁,您仍然可以重新生成所有的脚手架视图。你想要的控制器。至少Eclipse STS热部署仍然有效!

    然而,目前还没有简单的解决方案来分离您的脚手架控制器。