2011-06-06 138 views
1

我還沒有真正使用它,但我正在閱讀the tutorial here,並從我的理解,一旦你註釋到它的控制器內,它完全阻止用戶關閉,只顯示窗體。玩框架安全模塊

我想知道的是如何簡單地隱藏網站的某些部分。比如當用戶未登錄時在頂部顯示登錄表單並在登錄時顯示「配置文件」按鈕。當用戶未登錄時禁用發佈功能等,而不隱藏來賓的所有內容。

您是否需要爲這些情況創建單獨的視圖,或者只需在視圖內查看用戶是否登錄?你將如何使用安全模塊進行檢查?

回答

3

Play安全模塊authenticate()在成功登錄/認證時在會話中存儲'用戶名'。

您可以在視圖中使用此會話屬性來檢查用戶是否已登錄,然後相應地更改曲目。

#{if session.username } 
    <!-- You can show users' profile --> 
#{/if} 
#{else} 
    <!-- Show login form now. You can create a login template-tag form and call it here. --> 
#{/else} 
+0

一旦歐使用'@With(Secure.class)'註釋,一切得到的從用戶擋在外面,但..並且沒有標註我無法訪問會話對象......不知道如何做這個? – networkprofile 2011-06-09 19:53:15

+0

如果需要,您需要擴展Secure類並覆蓋check()/ authenticate()。 http://www.playframework.org/documentation/1.2.1/secure – sojin 2011-06-15 12:36:54

+0

請檢查以及http://groups.google.com/group/play-framework/browse_thread/thread/60e6080426d2ee92/53e7d85f58ca3367 – sojin 2011-06-15 13:26:25