2012-01-08 46 views
1

我使用四郎保護我的Grails應用程序,使用默認的配置與Grails:如何用shiro保護gsp視圖?

grails shiro-quick-start 

和自定義用戶。到目前爲止,所有控制器操作都受到保護,但是如果我將URL放入GSP文件(比如index.gsp),我不會得到登錄提示。

我使用的默認篩選器是

def filters = { 
    all(uri: "/**") { 
     before = {  
      accessControl()    
     } 
    }  
} 

但似乎GSP-文件不匹配此URI的過濾器。我必須使用什麼URI-Filter?我正在使用grails 1.3.7和shiro插件1.1.3

回答

1

非常有趣,但似乎是一個grails問題,而不是一個shiro。

我沒有管理,以確保通過過濾器機制/object/view.gsp頁面 - 這似乎是基於控制器/行動,因爲沒有涉及控制器...

但我沒有找到另一種解決方案。將以下行添加到您的UrlMappings.groovy文件

"/$folder/${view}.gsp"(controller:'auth', action:'login') 

這將通過控制器發送您的.gsp文件。

+1

非常好的主意,非常感謝!但爲了確保主要的「index.gsp」,你還必須添加「/${view}.gsp"(controller:'auth',action:'login') – Julian 2012-01-09 17:52:55