在Grails中创建Admin部分的最佳方法

时间:2009-07-15 19:28:08

标签: grails groovy admin backend

HY,

我想知道在Grails应用中创建Admin(后端)部分的最佳方法是什么?

我想在Grails的“controllers”文件夹中创建一个“Admin”文件夹,以放置我的所有管理员控制器。但是,我是否必须手动为每个管理控制器创建URL映射?

我已经使用genernate-all命令生成了我的所有前端GSP,该命令采用域类,但我知道如何为我的管理部分生成我的CRUD(具有相同的域类) 。我搞砸了吗?

非常感谢您的提示!

3 个答案:

答案 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')
  }
}

注意正如您所看到的,我没有以任何方式获得保护。