1

ユーザーがdrupal7でパスワードを変更したときを記録する必要があります。登録ユーザーがパスワードを変更したとき、プラットフォームはデータベースにレコードを保存する必要があります。

どんな指導にも感謝します。

ありがとう :)

4

3 に答える 3

3

hook_form_user_profile_form_alter()を作成し、次のような操作を行う#submitハンドラーを(フォームに)追加します。

if (!empty($form_state['values']['pass']) && $form_state['values']['pass'] != $form_state['values']['current_pass']) {
  watchdog('user', 'The %name changed his password.', array('%name' => $account->name), WATCHDOG_NOTICE);
}
于 2012-12-12T18:23:15.160 に答える
2

私は先日同様のことをする必要があり、を使用してこの解決策を思いついたhook_user_presave()

function MYMODULE_user_presave(&$edit, $account, $category) {
  if (!empty($edit['pass']) && $account->pass != $edit['pass']) {
    watchdog('MYMODULE', t('Password changed for %name', array('%name' => $account->name)));
  }
}
于 2012-12-12T17:50:52.813 に答える
1

これを行うためのサンドボックスモジュールがあります: https ://drupal.org/sandbox/dhalbert/1695174 (「パスワード変更ログ」)。

それはを使用しますhook_user_update()が、それ以外は受け入れられた答えと非常に似ています。

于 2014-02-17T02:30:53.043 に答える