2

Glassfishカスタムレルムを次のプロパティで構成しました。

Jaas:                jdbcRealm
JNDI:                jdbc/myDatasource
User Table:          usuario
user name column:    nombre
password-column:     password
group-table:         usuario
group-name column:   grupo

これは私のデータベースで参照されているテーブルです。

usuario:

|               usuario                    |
____________________________________________
| nombre      | password      | grupo      |
--------------------------------------------
| SSS         |               | ADMIN      |
--------------------------------------------
| AAA         | AAA           | ADMIN      |
--------------------------------------------

私の問題はこれです:

ユーザー「SSS」は問題なくログインしているため、レルムは正常に実行されています。一方、AAAは認証を取得できず、パスワードが一致していません。

これは私のログインフォームです:

<p:panel header="Login From">
        <form method="POST" action="j_security_check">
            Username: <input type="text" name="j_username" />
            Password: <input type="password" name="j_password" />
            <br />
            <input type="submit" value="Login" />
            <input type="reset" value="Reset" />
        </form> 
    </p:panel>

もう1つ、「SSS」ユーザーは、ログインフォームにパスワードを入力してもログインします。

どうか、助けていただければ幸いです。前もって感謝します。

4

1 に答える 1

3

Glassfish JDBCRealmsがパスワードハッシュを使用していることをご存知ですか?したがって、通常はハッシュ化されたパスワードをデータベースに保存する必要があります(Glassfish 3.1 JDBCRealmはデフォルトでSHA-256を使用し、以前のバージョンはMD-5を使用し、他のレルムタイプは異なるデフォルトのハッシュアルゴリズムを使用する場合があります)。

空のパスワードで機能する場合は、サーバーが空のパスワードを持つユーザーを、パスワードなしまたは任意のパスワードでログインできる「匿名」として処理する場合があります。その場合、構成は深刻な脅威になります。

于 2011-11-09T07:04:32.073 に答える