嗨,
我想知道在 Grails 应用程序中创建管理(后端)部分的最佳方法是什么?
我想在 Grails 的“controllers”文件夹中创建一个“Admin”文件夹来放置我所有的管理控制器。但是我是否必须为每个管理控制器手动创建 URL 映射?
我已经使用带有域类genernate-all
的命令生成了所有前端 GSP,但知道如何为我的管理部分生成 CRUD(具有相同的域类)。我搞砸了吗?
非常感谢您的提示!
我对此的偏好是为管理员提供单独的应用程序。将所有域类粘贴到插件中,并将该插件安装到管理应用程序和消费者应用程序中。
这样,您可以根据自己的喜好调整控制器,而不必担心最终用户会碰到它们。共享服务也可以在域插件中。
您可以在 grails-app/conf 中放入一个名为 BuildConfig.groovy 的特殊文件,您可以在其中指定“本地”插件,例如自动带入类路径的域插件,而无需打包/安装插件。让它超级容易。
您可以像任何其他控制器一样创建您的管理员控制器,并使用过滤器来确保只有具有管理员权限的登录用户才能访问它们。
很晚了,但这是一种可能有用的方法,至少对于较小的应用程序(我使用的是 Grails 2.0):
在 conf/UrlMappings.groovy 中:
class UrlMappings {
static mappings = {
"/admin/$controller/$action?/$id?"{ constraints { // apply constraints here
} }
'/admin' (controller: 'yourMainController', action: 'list')
'/' (controller: 'public', action:'index')
// For the PublicController to handle *all* other requests (like /foo/bar/):
// '/**' (controller: 'public', action:'index')
"500"(view:'/error')
}
}
注意如您所见,我没有以任何方式保护它。