1

ユーザーの登録と認証にacegigroovyプラグインを使用しています。プラグインに付属するUserドメインクラスには、次の定義(およびコメント)があります。

class User {
static transients = ['pass']
static hasMany = [authorities: Role]
static belongsTo = Role

/** Username */
String username
/** User Real Name*/
String userRealName
/** MD5 Password */
String passwd
/** enabled */
boolean enabled

String email
boolean emailShow

/** description */
String description = ''
...

}

等々。したがって、パスワードの暗号化方法はMD5であると想定しました。

何千人ものユーザーを登録し、ユーザーごとにランダムなパスワードを生成する必要があります。(ユーザー名はすでに指定されています)。

ランダムな-plain-パスワードとMD5暗号化パスワードを生成し、それぞれをDBに挿入するスクリプトを作成しました。残念ながら、これらのユーザーは誰もログインできません。

acegiセキュリティプラグインはMD5暗号化を使用していますか?

他のものを使用しているようです。残念ながら、ドキュメントには何も見つかりませんでした。

この暗号化がどのように行われるか知っている人はいますか?

ありがとう!

ルイス

4

2 に答える 2

1

プロパティを使用DaoAuthenticationProviderして設定しない場合passwordEncoder、デフォルトのパスワードエンコーダーはですPlaintextPasswordEncoder。MD5パスワードエンコーダを設定するには、次の手順を実行します。

  <bean
      id="passwordEncoder"
      class="org.acegisecurity.providers.encoding.Md5PasswordEncoder"/>

  <bean
      id="daoAuthenticationProvider"
      class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
    <property name="userDetailsService" ref="userDetailsService"/>
    <property name="passwordEncoder" ref="passwordEncoder"/>
  </bean>
于 2009-09-24T15:43:26.663 に答える
0

または、authenticateService.encodePassword( "password")を使用することもできます。たとえば、プラグインのRegisterControllerのsaveメソッドを参照してください。

于 2010-06-02T16:53:46.717 に答える