2013-04-08 21 views
0

我想使用Grails來託管一個簡單的(個人)網站,並正在尋找一種方法來禁用(或密碼保護它們)控制器從顯示添加和編輯按鈕域對象。阻止Grails控制器顯示添加選項

我的控制器看起來是這樣的:

class DownloadsController { 
    static scaffold = Download 
} 

我的域類看起來是這樣的:

class Download { 

    static mapping = { 
    } 

    static constraints = { 
     link(url: true) 
    } 

    String name 
    String link 

} 

任何想法?

+1

按鈕確實是視圖的責任,因此您可以編輯相應的gsp。你在使用腳手架文件嗎? – aldrin 2013-04-08 04:37:47

回答

1

如果您使用Spring安全插件,則可以在控制器中保護editadd(和POST網址)的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

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