2012-06-07 62 views
1

我正在使用數據領域進行登錄身份驗證。它工作正常。我也在我的應用程序中使用primefaces 3.2組件,它們也能正常工作,但登錄前在主頁上發生問題。 primefaces組件不能正確渲染(例如,標籤菜單顯示爲簡單的鏈接,下面是其他的按鈕,按鈕顯示爲簡單的jsf按鈕等),並且登錄工作正常,當我從瀏覽器中清除瀏覽歷史記錄時,primefaces呈現正確,但現在領域失敗,我被重定向到錯誤頁面,爲什麼會發生這種情況?我如何解決它?由於這個原因,我的應用程序的主頁被毀壞了。primefaces組件未正確渲染數據領域

+0

你在保護css文件嗎? – mprabhat

回答

2

看來您的Primefaces資源位於受限制的文件夾中。從安全約束定義中排除資源文件夾。

這是來自我的一個項目的示例配置。首先,我限制訪問整個項目(只允許訪問特定的角色):

<security-constraint> 
     <display-name>Secured project</display-name> 
     <web-resource-collection> 
      <web-resource-name>Secured project</web-resource-name> 
      <description/> 
      <url-pattern>/*</url-pattern> 
     </web-resource-collection> 
     <auth-constraint> 
      <description/> 
      <role-name>user</role-name> 
      <role-name>admin</role-name> 
     </auth-constraint> 
    </security-constraint> 

然後,添加例外,可以被任何用戶訪問的文件夾:

<security-constraint> 
    <display-name>Exceptions</display-name> 
    <web-resource-collection> 
     <web-resource-name>Exceptions</web-resource-name> 
     <description/> 
     <url-pattern>/resources/*</url-pattern> 
     <url-pattern>/faces/resources/*</url-pattern> 
     <url-pattern>/faces/javax.faces.resource/*</url-pattern> 
    </web-resource-collection> 
</security-constraint> 

您需要使其適應您的安全策略和文件夾結構。

+0

我得到了我的錯誤,我只是將index.xhtml的歡迎文件更改爲homePage xhtml。它現在的作品,但我不知道爲什麼! – z22