WinRoad徒然草のFuelPHPで簡単認証システムのところで、気づいたことをひとつ。実は記事の通りに認証システムを写経しましたが、上手くログインできませんでした。
ログインできることはできるのですが、あらかじめデーターベースに登録した、ユーザー名とパスワード名を使っても、23)のようにログインユーザー名が表示されません。
ログインユーザー名を表示させるための作業
FuelPHPに詳しい方から聞いたところ、WinRoad徒然草の記述に加えて次の作業が必要でした。もちろん自分の開発環境なので、人によっては作業不要な方もいらっしゃると思います。そういう方は参考程度にどうぞ。
1.PHP拡張機能の準備
FuelPHP1.7の要件を見ていると、いくつかのPHP拡張機能が必須になっています。このうち自分の場合、mbstringとmcryptの拡張機能がサーバーに入っていませんでした。それぞれインストールしておきます。
yum install php-mbstring php-mcrypt
2.Cryptクラスの準備
具体的にはcrypt.phpファイルを以下のとおりに配置します。
/var/www/html/プロジェクト名/fuel/app/config/crypt.php
3.crypt.phpファイルの編集
キーの部分はbase64エンコードした文字列で、デコードするために長さは、4の倍数になるようにします。
[php]
<?php
return array(
‘crypto_key’ => ‘UjnRmQrKbQUi8UZV8STg42Bb’,
‘crypto_iv’ => ‘r4zgj0b7pOLMMwV0e5JL08SI’,
‘crypto_hmac’ => ‘GjgFYNwL8CqlH1jgrFoLtpcJ’,
);
[/php]
4.書き込み権限の確認
ドキュメントによると、crypt.phpに対して書き込み権限が必要です。自分の場合、”664″にしています。
-rw-rw-r-- 1 username username 692 9月 28 18:57 crypt.php
反省点
今回の作業は、詳しい方に「お任せ」でやってもらいました。「なぜCrypt クラスが必要なのか」とか、「Sessionとどう関わってくるのか」とか、理由の部分をあまり考えていません。
おそらく、Cryptクラスがないと、ログイン後のセッション管理ができないのではないかと、ざっくりと思ったりしています。
〔参考サイト〕