2011-12-30 100 views
0

用戶成功登錄後,我通常會將他的一些信息放在會話對象上。然後,我將使用應用於所有頁面的過濾器來檢查是否有用戶登錄。JSF驗證用戶狀態

我該如何用JSF 2.0實現這樣的功能?

+0

的[JSF檢查用戶登錄]可能重複(http://stackoverflow.com/questions/7704027/jsf-check-用戶登錄) – 2011-12-30 07:34:25

+0

@MДΓΓБДLL這並不完全重複它 – 2011-12-30 07:36:16

+1

但[此](http://stackoverflow.com/questions/5662367/writing-an-authorization-filter-for-my-web-appjsf -2-0)是 – 2011-12-30 07:37:13

回答

1

您可以將所有需要登錄的頁面放到子文件夾中,並將login.xhtml保留在根目錄下。

你可以讓你的用戶保持在一個名爲identity的類的會話範圍內,你可以將這些聲明添加到你的pages.xml中。

,所以你不會需要檢查是否無處不在用戶登錄。

<page view-id="*"> 
    <navigation> 
     <rule if-outcome="home"> 
      <redirect view-id="/base/home.xhtml"/> 
     </rule> 
    </navigation> 

    <navigation from-action="#{identity.logout}">    
     <rule if="#{not identity.loggedIn}"> 
      <redirect view-id="/login.xhtml"/> 
     </rule>    
    </navigation> 
</page> 

<page view-id="/modul*" login-required="true"></page> 
<page view-id="/popup*" login-required="true"></page> 
+1

pages.xml是一個Seam 2特定文件... – 2011-12-30 10:46:30