1

web.xml 内の login-config コンポーネントから呼び出される login.xhtml ページに問題があります。

<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>file</realm-name>
    <form-login-config>
        <form-login-page>/faces/Login/login.xhtml</form-login-page>
        <form-error-page>/faces/Login/error.xhtml</form-error-page>
    </form-login-config>
</login-config>

login.xhtml は loginTemplate.xhtml で定義されたテンプレートを使用します。

<ui:composition template="./loginTemplate.xhtml">

LoginTemplate には以下が含まれます。

<p:layout fullPage="true">  
        <p:layoutUnit position="west" resizable="false" size="245">
            <ui:insert name="left" >
                Login
            </ui:insert>
        </p:layoutUnit>  

        <p:layoutUnit position="center" resizable="false"> 
            <ui:insert name="content">
                Abstract
            </ui:insert>
        </p:layoutUnit>  
</p:layout>

login.xhtml ページには、「左」部分に and フィールドがあるフォームが含まれています。

ページが予期しない方法でレンダリングされ、inputText フィールドと password フィールドが値を受け入れません!

ここで何が間違っていますか?

よろしく

4

1 に答える 1

3

ほとんどの場合、CSS/JS/画像リソースに対するブラウザーのリクエストもセキュリティ制約の対象となるため、ブラウザーは具体的な CSS/JS/画像リソースの代わりにログイン ページを取得し、CSS/JS/ のアプライアンスなしでレンダリングが行われます。画像。HTTP トラフィック モニタ (Chrome/Firefox>=23/IE>=9 で F12 を押して「ネットワーク (仕事)」タブをチェック) をよく見ていた場合は、それらの HTTP 応答を判断して気づいたはずです。資力。

あなたの特定のケースでは、コンテナ管理のセキュリティを使用している場合、これはセキュリティ制約の過度に一般的な URL パターンが原因である可能性が最も高い/*です。保護されたページを一般的なフォルダーに移動して、代わりに URL パターンに/appセキュリティ制約を設定することができない場合/app/*は、別のセキュリティ制約を追加して、JSF リソースを明示的に公開する必要があります。これを行うには、事前定義された URL パターンにセキュリティ制約を作成し、タグ/javax.faces.resource/*を完全に削除します。<auth-constraint>

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Allowed resources</web-resource-name>
        <url-pattern>/javax.faces.resource/*</url-pattern>
    </web-resource-collection>
    <!-- No auth-constraint tag! -->
</security-constraint>
于 2013-11-04T12:44:34.710 に答える