CodeIgniter ログイン認証(DX Auth)の導入
CodeIgniterでログイン認証を構築してみます。いろいろな種類があるみたいですが、
「更新が止まっていない」、「ドキュメントがしっかりしている」などの理由から、DX Authを採用してみたいと思います。
環境及びバージョン
・CodeIgniter: 1.7.2-1
・DX Auth: 1.0.6
ダウンロード
・「公式サイト」から、DX Authの最新版をダウンロード。
インストール
Installation Instructions(公式マニュアル)を参考に、インストールを進めます。
今回はバンドル版をインストールします。(他、ライブラリのみインストールする手順も書いてあります。)
1 2 3 4 5 6 7 8 9 10 11 12 | $ cd /var/www/html/ci172ja <= ドキュメントルート(環境による) $ mkdir tmp $ cd tmp $ cp /tmp/dx_auth-1.0.6.zip . $ unzip dx_auth-1.0.6.zip $ cp -r captcha ../ $ cp -r application ../system/ $ mysql -uUSERNAME -pPASSWD DBNAME < schema.sql $ cd .. $ rm -fr tmp $ vi system/application/config/config.php $config['sess_use_database'] = TRUE; <= 変更 |
ブラウザで表示確認 (1)
Getting Started(公式マニュアル)を参考に表示確認を進めてみます。
ここで問題が発生してしまいました。
1 2 | http://www.yourhost.com/auth/login => 表示されない http://www.yourhost.com/index.php/auth/login => 表示される |
あえてクエリ文字列を表示する場合は別として、URLに「index.php」が残るのはスマートじゃぁないです。(*_*)
調べてみると、どうやらこれはCodeIgniterの仕様のようでした。(私の経験不足w)
CodeIgniter の URL(公式マニュアル)を参考に、.htaccessを設置してみます。
1 2 3 | RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] |
はい、これで解消されました!
でも、これって例外ページが増えるたびに.htaccessを更新しないといけないの?
まぁいいか、運用でカバーできるならばw あ、そもそもサブディレクトリに設置すればいいのか!
などと考えつつ、気を取り直して表示確認へ戻りたいと思います。
httpd.confへ記入する場合の例
1 2 3 4 5 6 | <IfModule mod_rewrite.c> RewriteEngine On RewriteCond $1 !^/(index\.php|images|robots\.txt) RewriteRule ^/index.php/(.*)$ http://%{HTTP_HOST}/$1 [L,R] RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> |
ブラウザで表示確認 (2)
1 2 3 4 5 6 7 8 9 10 11 12 | http://www.yourhost.com/auth/login/ to login. http://www.yourhost.com/auth/logout/ to logout. http://www.yourhost.com/auth/register/ to register. http://www.yourhost.com/auth/register_recaptcha/ to register using reCAPTCHA. http://www.yourhost.com/auth/forgot_password/ to use forgot password feature. http://www.yourhost.com/auth/change_password/ to change password after you logged in. http://www.yourhost.com/auth/cancel_account/ to delete account after you logged in. http://www.yourhost.com/backend/users/ to manage users. http://www.yourhost.com/backend/unactivated_users/ to manage unactivated users. http://www.yourhost.com/backend/roles/ to manage roles. http://www.yourhost.com/backend/uri_permissions/ to manage URI permissions. http://www.yourhost.com/backend/custom_permissions/ to manage custom permissions. |
とりあえず、全て表示されました。なんか機能豊富ですね!
全体を通しての動作確認は、また別途行うという事にしたいですが、
ReCAPTCHAの設定とかセキュリティ対策とかも残っていますね。
それでは、また~ (^^)/~
(2022/01/29) コメントスパムが多くなりましたので、コメント・トラックバックを一時無効にしました。