停止Grails控制器显示add选项



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

我的控制器是这样的:

class DownloadsController {
    static scaffold = Download
}

我的域类是这样的:

class Download {
    static mapping = {
    }
    static constraints = {
        link(url: true)
    }
    String name
    String link
}

任何想法?

如果您正在使用Spring安全插件,您可以在控制器中保护editadd(以及POST url)的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-plugins.github.io/grails-spring-security-core/docs/manual/guide/6%20Helper%20Classes.html)

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

class DownloadsController {
   static scaffold = Download
   //override scaffolded edit
   def edit() {
      redirect(action: "list")
   }
   //override scaffolded add
   def add() {
      redirect(action: "list")
   }
}

如果您需要更复杂的解决方案,请查看spring安全核心插件

最新更新