0

Tomcat 7.0 + JSF 2

正しい資格情報でログインした直後に 403 エラーが発生します (資格情報が間違っていると、予想どおり login.xhtml に誘導されます)。Apache で新しいユーザーを作成し、Web サービスを再起動しましたが、まだ接続できません。

tomcat-users.xml

<tomcat-users>
    <user name="lala" password="lala!!!" roles="admin-gui,manager-gui" />
    <role rolename="administrator"/>
    <user username="admin" password="admin" roles="administrator"/>
</tomcat-users>

管理者ではなく、lalaでのみログインできるのはなぜですか(手動で追加しました)。なぜですか?

および server.xml のレルム (Tomcat conf)

under <host>:
<Realm className="com.bannerplay.beans.Admin">

プロジェクトのウェルカム ファイル (login.xhtml) で、j_security_check (フォーム ベースの認証) を使用しました。

            <form method="post" action="j_security_check">
            <p>
                Enter user ID and password:<br/> <br/>
                User ID <input type="text" name="j_username"/> 
                Password  <input type="password" name="j_password"/> <br/><br/> 
                <input type="submit" value="Login"/>
            </p>

        </form>

そして web.xml をそのように定義しました:

  ...
<security-constraint>
    <display-name>Admin</display-name>
    <web-resource-collection>
        <web-resource-name>BannerPlay administration Tool</web-resource-name>
        <description/>
        <url-pattern>/admin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <description/>
        <role-name>administrator</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>com.bannerplay.beans.Admin</realm-name>
    <form-login-config>
        <form-login-page>/faces/login.xhtml</form-login-page>
        <form-error-page>/faces/login.xhtml</form-error-page>
    </form-login-config>
</login-config>
<security-role>
    <description/>
    <role-name>administrator</role-name>
</security-role>

プロジェクトツリー: これはプロジェクトツリーです

localhost:8080/myProject/ にアクセスしようとすると login.xhtml が表示され、正しい資格情報を入力すると (管理者ではなく「lala」ユーザーが機能します)、403 が表示されます。 localhost:8080/myProject/main.xhtml にアクセスしようとすると私は再びログインページにリダイレクトされます.(正しい資格情報の後)

ユーザー lala に「管理者」ロールを追加しようとしましたが、結果は同じです。

私は何をすべきか?ありがとう

4

1 に答える 1

0

解決策は、ハードドライブからtomcat-users.xmlファイルを変更しないことです。Eclipseから変更する必要があります。HDから変更した後、変更を保持するのではなく、ファイルの古いバージョンに戻り続けることに気付きました。これは、プロジェクトの実行後に発生します。日食からそれを変更し、問題を解決しました。

于 2012-10-25T07:22:38.223 に答える