我正在使用Grails 2.0.RC1中的一个项目,我希望能够将我的域对象的脚手架控制器和视图保存为“低级别”,开发人员只能访问仍然修补能够开发视图和控制器的生产版本(具有相似的名称,特别是对于控制器)。我想保留原样,因此我可以在更新域图层时重新生成它们,因此移动它们很可能无法正常工作。
我希望有一种方法可以做一些UrlMapping魔法让我对“/ mgr / book”的请求转到脚手架的Book控制器,但是“/ book”会转到我的生产控制器。我在文档中找不到关于如何为特定控制器组设置映射的任何内容(没有按名称指定每个控制器而不是$控制器符号)。
我的另一个想法是将我的域层变成一个插件,然后创建一个单独的项目,它只适用于scaffolded视图。这在开始制作之前更容易删除,但似乎也更有效,并且引发了在同一个盒子上同时运行两个grails应用程序的问题。
答案 0 :(得分:1)
如果您使用的是Spring Security,则应该可以使用InterceptUrlMap或RequestMap Instances来保护控制器网址。
如果您的脚手架控制器仅用于脚手架(并且没有其他操作),那么您应该能够使用基本Secured annotations来保护整个控制器。
然后你可以像正常一样使用脚手架,在登录后保护。
其他安全框架可能提供类似的访问控制。
答案 1 :(得分:1)
我会让你像你最后的想法一样前进。这也是我的常用方法:
这使您的主应用程序保持干净简洁,您仍然可以重新生成所有的脚手架视图。你想要的控制器。至少Eclipse STS热部署仍然有效!
然而,目前还没有简单的解决方案来分离您的脚手架控制器。