我正在尝试使用Grails来托管一个简单的(个人)网站,并且正在寻找一种方法来禁用(或密码保护它们)控制器显示域对象的添加和编辑按钮。
我的控制器是这样的:
class DownloadsController {
static scaffold = Download
}
我的域类是这样的:
class Download {
static mapping = {
}
static constraints = {
link(url: true)
}
String name
String link
}
任何想法?
如果您正在使用Spring安全插件,您可以在控制器中保护edit
和add
(以及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安全核心插件