1

次のようにJDBC認証レルムを設定してみました

1-JDBC接続プールを構成し、 mysql_acme_rootPoolという名前を付けました

2-PINGをクリックして上記のプールをテストし、成功しました。

3-次に、[構成]>>[サーバー構成]>>[セキュリティ]>>[レルム]に移動し、myRealmという新しいレルムを作成しました。

構成のスナップショットを次に示します

ここに画像の説明を入力してください

下にスクロールした後

ここに画像の説明を入力してください

問題は、正しいパスワードを入力しても、パスワードが無効であるかのようにポップアップログイン画面が再び表示されることです。クエリが生成されているものを確認する方法はありますか?どうすれば問題を絞り込むことができますか?それは私のnetbeans構成にありますか?またはweb.xml?? どこ ??

これが私のweb.xml部分です

 <security-constraint>
        <display-name>SecurePlace</display-name>
        <web-resource-collection>
            <web-resource-name>Secure Place</web-resource-name>
            <description>Description here</description>
            <url-pattern>/Secure/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <description>descrition here</description>
            <role-name>Regular-Group</role-name>
        </auth-constraint>
        <user-data-constraint>
            <description/>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>myRealm</realm-name>
    </login-config>
    <security-role>
        <role-name>Regular-Group</role-name>
    </security-role>

SSHを使用していますが、問題が発生している可能性がありますか?助言がありますか ???

4

1 に答える 1

0

まず第一に、あなたのログ出力は何ですか?セキュリティログレベルを最高に変更し、出力を共有します。

今のところ簡単な考え:

  • GlassfishのjdbcRealmに正規化されたテーブルを設定することはできません。

すべてを含む1つのテーブルが必要です

"username" "pasword" "role"

または2つのテーブル

"username" "password"

"username" "role"

「username」列の名前と内容は、両方のテーブルで同じである必要があります

  • パスワードをプレーン/テキストまたはMD5またはSHA-1SHA-2で保存しますか?正しいパスワードハッシュ方式を指定することを忘れないでください。ご覧のとおり、デフォルト値はSHA-256です。

全体として、正しいデータベース接続と間違ったパスの「不正なエラー」、または「ログインモジュールが見つかりません」などの何らかの構成エラーのいずれかである可能性があります。ログの詳細が必要です。

于 2012-09-04T12:36:23.190 に答える