ログイン認証にデータレルムを使用しています。それはうまくいきます。また、アプリでprimefaces 3.2コンポーネントを使用していますが、これらも正常に機能しますが、ログイン前にホームページで問題が発生します。Primefacesコンポーネントが正しくレンダリングされず(たとえば、タブメニューが上下に単純なリンクとして表示され、ボタンが単純なjsfボタンとして表示されるなど)、ブラウザから閲覧履歴をクリアすると、ログインが正常に機能します。 Primefacesは正しくレンダリングされますが、レルムが機能しなくなり、エラーページにリダイレクトされます。なぜこれが発生するのですか?どうすれば解決できますか?これにより、私のアプリのホームページが台無しになりました。
1 に答える
2
Primefacesリソースは制限されたフォルダにあるようです。セキュリティ制約の定義からリソースフォルダを除外します。
これは、私のプロジェクトの1つからの構成例です。まず、プロジェクト全体へのアクセスを制限します(特定の役割のみにアクセスを許可します)。
<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>
これをセキュリティポリシーとフォルダ構造に適合させる必要があります。
于 2012-06-07T09:28:07.077 に答える