HY,
我想知道在Grails应用中创建Admin(后端)部分的最佳方法是什么?
我想在Grails的“controllers”文件夹中创建一个“Admin”文件夹,以放置我的所有管理员控制器。但是,我是否必须手动为每个管理控制器创建URL映射?
我已经使用genernate-all
命令生成了我的所有前端GSP,该命令采用域类,但我知道如何为我的管理部分生成我的CRUD(具有相同的域类) 。我搞砸了吗?
非常感谢您的提示!
答案 0 :(得分:11)
我对此的偏好是为管理员设置单独的应用程序。将所有域类粘贴到插件中,并将该插件安装到管理应用程序和消费者应用程序中。
通过这种方式,您可以根据自己的心灵内容调整控制器,而不用担心最终用户遇到它们。共享服务也可以在域插件中。
你可以在grails-app / conf中添加一个名为BuildConfig.groovy的特殊文件,你可以在其中指定像本地插件一样的“本地”插件,这些插件会自动进入类路径而无需打包/安装插件。让它变得非常容易。
答案 1 :(得分:2)
您可以像任何其他控制器一样创建管理员控制器,并使用filter确保只有具有管理员权限的登录用户才能访问它们。
答案 2 :(得分:1)
这很晚,但这里有一种可能有用的方法,至少对于较小的应用程序(我使用的是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')
}
}
注意正如您所看到的,我没有以任何方式获得保护。