0

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

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

class DownloadsController {
    static scaffold = Download
}

我的域类看起来像这样:

class Download {

    static mapping = {
    }

    static constraints = {
        link(url: true)
    }

    String name
    String link

}

有任何想法吗?

4

2 回答 2

1

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

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

于 2013-04-08T05:45:09.857 回答
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 插件

于 2013-04-08T05:14:35.710 回答