CakePHPのAuthComponentではまったところ

SPONSORED LINK

Pocket

cake_auth

先日のエントリーの続編。またしても超絶個人的メモ。ごめん。

  • フォームからusername、passwordにあたるものが送信されると自動的にpasswordはhash化される・・・。はまった。
  • User情報の更新などで「password欄が空欄だったらそのまま、入力されたら更新」という処理があると思いますが、上記の注意事項があるため気をつけましょう。コード的には以下かな($meには現在のユーザー情報)。
  • if ($this->data['User']['password']==$this->Auth->password('')) {
    	$this->data['User']['password'] = $me['User']['password'];
    }
    
  • $this->Auth->user()にはpasswordが含まれていません。別の言い方をすると$this->Auth->user(‘password’)はNULL。
  • User情報の更新を$this->User->save()でやっても$this->Auth->user()の情報は更新されません。更新するには再度login、logoutする、とかといった工夫が必要(参考)。

以上ですかね。いやー、勉強になりますな!

追記:Passwordチェックは、フォーム上でPasswordのフィールド名を変更しておく手もあります(Thanks to @msng)。こちらだと入力値のチェックが自由自在でいいかもですね。

$this->data['User']['password'] = $this->Auth->password($this->data['User']['password_to_be']);

ツイッターもやっています!

SPONSORED LINK

  1. No comments yet.

  1. No trackbacks yet.