2014-03-25 57 views
0

我有一個Domain類和Controller名爲Person。這Controller有4意見。 create.gsp,remove.gsp,show.gsp,showdetail.gsp限制訪問某些意見 - 初學者

我想要做的就是允許讀取權限showdetail.gsp給所有觀衆和限制create.gspremove.gspshow.gsp視圖的訪問。只有Administrator應該能夠訪問這些頁面。我如何在Grails中做到這一點?

+1

您可以使用[春安芯(http://grails.org/plugin/spring-security-core)Grails的插件。插件提供基於角色的認證。 [插件手冊](http://grails-plugins.github.io/grails-spring-security-core/docs/manual/)可以適當地指導。 – dmahapatro

回答

0

你可以使用安全過濾器來做到這一點,或者你可以使用Spring Security Core grails插件。 如果你想用的保安過濾器,你可以做到以下幾點:

  1. 在登錄時每個用戶創建會話。 會話[「用戶」] =「羅希特」 //用戶名

  2. 添加安全過濾器:

    PersonFilters(controller: 'person', action: 'create') { 
        before = { 
         // code to be change 
         if(!session["user"]) { 
         //flash.message = "Your session has been expired. Please login to continue." 
          redirect(controller: "login", action:"index") 
          return false; 
         } else if(session["user"] && session["user"] != "admin"){ 
          // redirect to some action 
          // redirect(controller: "", action:"index") 
          return false; 
         } 
        } 
    } 
    

同樣,您可以爲您不希望這些行動加上保安過濾器向除admin之外的任何用戶展示。