2009-07-15 64 views
9

Hy,在Grails中创建管理部分的最佳方法

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

我想在Grails的“controllers”文件夹中创建一个“Admin”文件夹来放置我所有的管理员控制器。但是,那么我将不得不手动创建每个管理控制器的URL映射?

我已经生成与genernate-all命令,这需要域类但知道我可以生成我的CRUD我的管理部分(具有相同的域类)我所有的前端GSP。我拧了吗?

非常感谢您的提示!

回答

11

我对此的偏好是为管理员单独申请。将所有的域类都放在一个插件中,并将该插件安装到管理应用程序和消费者应用程序中。

这样,你可以调整控制器到你的心中,而不用担心最终用户打他们。共享服务也可以位于域插件中。

有一个特殊的文件,您可以放在您的grails-app/conf中,名为BuildConfig.groovy,您可以在其中指定“本地”插件,例如自动进入类路径而不必打包/安装插件的域插件。使它变得非常简单。

2

您可以像创建任何其他控制器一样创建管理控制器,并使用filter来确保只有具有管理员权限的登录用户才能访问它们。

+0

好的,谢谢它运作良好,如果我手动创建第二个控制器,但如何从1域类生成2个控制器? (类似/ CommentController和/ admin/CommentController从我的Comment.groovy类?) – 2009-07-16 21:05:08

+0

+1不错,只是我一直在寻找:)。 – helpermethod 2013-05-16 13:37:55

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

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

相关问题