2011-07-16 70 views
0

我正在使用Grails和Facebook圖形插件進行用戶註冊。但是,不要在每個操作和控制器中檢查facebook會話。進入控制器之前有沒有更好的方法來檢查會話?所以,我不必複製代碼來檢查身份驗證。Grails臉譜插圖檢查每個控制器中的會話

 


class FacebookSecurityFilters { 

    def filters = { 
     all(controller:'*', action:'*') { 
      before = { 
       println "test" 
      } 
      after = { 

      } 
      afterView = { 

      } 
     } 
    } 
} 

 

我使用命令grails create-filters創建了此過濾器。但它並沒有被解僱,我的意思是它根本沒有打印「測試」。我是否需要註冊過濾器?我使用Grails1.4M01

感謝

回答

0

使用過濾器 - 這是攔截所有動作一個偉大的方式,或者這些動作的基於模式的一個子集:我創建了一個名爲SecurityFilters文件http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.6%20Filters

+0

這是內容 類SecurityFilters { \t DEF濾波器= { \t \t的println 「測試」 \t \t loginCheck(控制器: '*',動作: '*'){ \t \t \t的println 「測試」 \t \t \t = { \t \t \t \t之前如果(session.facebook!){ \t \t \t \t \t的println 「錯誤從過濾器」 \t \t \t \t \t重定向(URI:「/ 「) \t \t \t \t} \t \t \t} \t \t} \t} } – toy

+0

但它根本沒有被調用。我錯過了什麼嗎? – toy

+0

您對控制器和操作有空白字符串,但它們應該是通配符,例如'controller':'*',action:'*'' - 同時刪除第一個'println'test''並將第二個移動到'之前'塊 –