停止Grails Controller显示添加选项

时间:2013-04-08 04:32:28

标签: grails

我正在尝试使用Grails来托管一个简单的(个人)网站,并且正在寻找一种方法来禁用(或密码保护它们)控制器显示域对象的添加和编辑按钮。

我的控制器看起来像这样:

class DownloadsController {
    static scaffold = Download
}

My Domain Class如下所示:

class Download {

    static mapping = {
    }

    static constraints = {
        link(url: true)
    }

    String name
    String link

}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果您使用的是Spring安全插件,则可以保护控制器中editadd(以及POST网址)的网址。见http://grails-plugins.github.io/grails-spring-security-core/docs/manual/guide/5%20Configuring%20Request%20Mappings%20to%20Secure%20URLs.html

如果您不使用Spring Security,您可能需要考虑它,因为它似乎很符合您的要求。您还可以在视图中使用方便的标记(请参阅http://grails-plugins.github.io/grails-spring-security-core/docs/manual/guide/6%20Helper%20Classes.html

答案 1 :(得分:0)

对于快速而肮脏的解决方案,您可以覆盖控制器中的编辑/添加脚手架操作,如下所示:

class DownloadsController {
   static scaffold = Download

   //override scaffolded edit
   def edit() {
      redirect(action: "list")
   }

   //override scaffolded add
   def add() {
      redirect(action: "list")
   }
}

如果您需要更复杂的解决方案,请查看spring security core plugin