認証コンポーネント(AuthComponent)を使ってみる
2008/09/24 – 2:01 PMCakePHP1.2には認証コンポーネント(AuthComponent)が最初から入っています。
参考:マニュアル5.2認証
使い方はマニュアル通りで、usersテーブルを作成し、usersコントローラーでAuthコンポーネントを設定し、loginビューを作れば動きます。
パスワードがhashされますが、標準はsha1になっているようなので、md5にするには、
Security::setHash('md5');
参考:5.2.4 暗号化の方法を変更する
と設定するようです。
実際の使い方は
参考:【CakePHP】AuthComponentについてのまとめ 【ざっくり基本編】
参考:【CakePHP】AuthComponentについてのまとめ その2【ちょっとしたコツ編】
を見ると分かるかと思います。
で、私がハマッタのは、md5の暗号化でした。
phpMyAdminでpasswordをmd5で設定しても、Auth認証が通りませんでした。
「ざっくり基本編」を参考にaddを追加し、ユーザーを追加するとhashの値が違っていました。
結局は
Security クラスはパスワードの暗号化に、 /app/config/core.php で定義した Security.salt の値を使用します。もし、 Security.salt を使わず暗号化したスキーマがある既存のデータベースを利用する場合、 authorize をセットしていなければこれをセットし、そのクラスの中で password メソッドを作成してください。
5.2.4 暗号化の方法を変更する
ということでcore.phpのSecurity.saltの値でした。
Authのパスワードは「Security.salt値+password値」でhashされます。
今までobAuthを使用していてmd5値そのままだったので、そのつもりで設定しちゃってました。セキュリティが向上することはいいことなのですが・・・