cakephpでauth認証に使うユーザーデータを登録するときって、今までは自動でハッシュ化されてたと思うんですよ。
だからまあ、例えばこんな感じでユーザー登録用のページを作ったとして、データをsubmitして見てみると、パスワードのところはハッシュ化されていたはずです。
でもどうやら2.0になってこれが自動ではなくなったみたいですね。
なのでユーザー登録の際は、save()メソッドを呼ぶ直前に自分でハッシュ化するか、beforeSave()にハッシュ化するためのコードを書いたりする必要があるみたいです。
あとたぶんなんですけど、ログインアクションでのログインが自動ではなくなったような……? ちゃんとは確認してないんで、間違ってたらごめんなさい。
こんな風に、login()メソッドを自分で呼んでやらないとダメみたいですね。前はやらなくても良かったはずなんですけど。
まあでも、自動でハッシュ化されなくなったってのは、慣れないと若干違和感があるけど、勝手にやられて困ることもあったから、改修されて良かったのかもしれない。
//コントローラー
class UsersController extends AppController {
function add() {
if(!empty($this->data)) {
pr($this->data);
}
}
}
//ビュー
<?php echo $form->create('User', array('action' => $this->action)) ?>
<?php echo $form->text('username') ?>
<?php echo $form->password('password') ?>
<?php echo $form->end() ?>
だからまあ、例えばこんな感じでユーザー登録用のページを作ったとして、データをsubmitして見てみると、パスワードのところはハッシュ化されていたはずです。
でもどうやら2.0になってこれが自動ではなくなったみたいですね。
なのでユーザー登録の際は、save()メソッドを呼ぶ直前に自分でハッシュ化するか、beforeSave()にハッシュ化するためのコードを書いたりする必要があるみたいです。
あとたぶんなんですけど、ログインアクションでのログインが自動ではなくなったような……? ちゃんとは確認してないんで、間違ってたらごめんなさい。
class UsersController extends AppController {
function login() {
if($this->Auth->login()) {
$this->redirect($this->Auth->loginRedirect);
}
}
}
こんな風に、login()メソッドを自分で呼んでやらないとダメみたいですね。前はやらなくても良かったはずなんですけど。
まあでも、自動でハッシュ化されなくなったってのは、慣れないと若干違和感があるけど、勝手にやられて困ることもあったから、改修されて良かったのかもしれない。