[framework] 自分用フレームワーク作成 # ログイン機能の追加

2015年4月16日

Tool テクノロジー

WEBページを作る場合、wordpressを使って簡易に作るのがいいと素人のような事で満足しているエンジニアがよくいるが、ビックリするほど呆れてしまう。 このブログで使ってよく分かったが、PHPの構成で非常にモジュールも多く、非効率なシステムなので、レンダリング結果の数値が良くない。 プラグインなどが充実していて、簡単にブログやホームページを立ち上げるにはいいツールかもしれないが、何かのサービスページを立ち上げようとすると、非常にルールが面倒くさいし、そもそも構成があまり好ましくない。 なので、このブログで紹介している自作ツールなどは、自作フレームワークを使っている。

ログイン機能の追加について

これまでは、単に機能を提示するだけのツールだったので、ログインは不用だったのだが、少しサービスレベルにするために、ユーザーログイン機能を付けてみることにした。 そもそもログイン機能がないと、全てのユーザーが同一の保存データにアクセスできてしまうし、上書きなどされたら、サービスとしては成り立たないケースが多い。 とりあえず2日ぐらいで構築したが、ログイン機能の考え方をメモしておきます。

機能概要

ログイン機能

ユーザーIDとパスワードを入力して認証ページを突破して、ログインアカウントとして、データ情報を保存できるようにすることが目的。

パスワード

パスワードは、md5変換して、セキュリティを担保することにした。

アカウント登録

IDとパスワードを登録すれば、すぐにログインできるようにする。

ログイン後のユーザー情報の変更

アカウント登録をした後、ログインして、ユーザー情報を変更できる機能。 これがないとパスワード変更ができなくなる。

不足機能

OAuth認証

OAuth認証は、Googleが昨年末ぐらいに仕様変更してややこしくなっているので、今回は入れていない。 twitterやfacebookも入れてもいいが、OAuth認証機能は、以後にすることにした。

パスワード忘れた時用のメール送信機能

パスワードは分かりにくいモノにするという世の中の流れで、よくサイトのパスワードを忘れることは多いし、その時は何度もメールで再設定する事も少なくないはず。 手順が複雑になるので、この機能も以後にする。

openid機能

このフレームワークをコピーして別ドメインで使う場合や、他のサービスなどでも、OAuth認証のようにOpenIDとして、このフレームワークを利用できるようにすると、ユーザー管理も一元管理できるので便利になるが、これもマニュアルなどを充実させないといけないので、以後に回す。

ログイン機能のON/OFF

フレームワークのコンフィグ情報として、ON/OFF機能をもたせられると、フレームワークの使用頻度に幅が出せるので、以後設置することにした。

フロー

1.ファーストアクセスは、ログインページへ遷移(セッション情報がない場合) 2.ログインID,PWをPOST送信後、ユーザーデータから同一IDのmd5情報とパスワードを比較し、成功すればセッションデータの書き込みをして、トップページへリダイレクト

ソースコードアップしました

Githubにアップしておきました。 https://github.com/yugeta/framework/tree/login