認証コンポーネント(AuthComponent)を使ってみる

2008/09/24 – 2:01 PM

CakePHP1.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値そのままだったので、そのつもりで設定しちゃってました。セキュリティが向上することはいいことなのですが・・・

Post a Comment