FuelPHPによるMVCプログラミング入門

Authパッケージユーザー認証3

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
ログイン画面を作成し、認証が必要なページを実際に表示できるようにしましょう。ログアウトの処理とあわせて紹介します。
講師:
08:25

字幕

ここでは Auth パッケージでユーザー認証の3つ目として1つ前のレッスンおよびもう1つ前のレッスンからの続きのスクリプトを作っていきます。ここでは実際のログインの処理を作っていきましょう。このレッスンは2つ前のレッスンからの続きとなりますのでぜひ3つ続けてご覧ください。ではプロジェクトを紹介していきましょう。ここではlesson07-04 ということで1つ前に作った lesson07-03 をそのままコピーしました。fuel app controller を見ていきますとこのように admin と user というのがそれぞれ oil コマンドで作られていてviews も admin とuser がそれぞれ存在しています。データベースの方を見ていきますとこちら fuelphp というデータベースにusers というテーブルがあり2つ前のレッスンで作った登録画面から登録したユーザーの情報が書かれています。では、ここから続きのスクリプトを作っていきましょう。今回はログイン画面を作っていきます。今こちらの画面ではこのように例えば admin のindex にアクセスしようとするとこの様にログイン画面に強制的に移動されてしまいます。 これはまだこのユーザーがログインをしていないためにユーザー限定のページが見られないという状態なのです。ではこれをログイン画面に仕上げてログインすれば限定ページが見られるという行程にしていきたいと思います。ではまずはこちら lesson07-04fuel app classes controller のuser.php を開きましょう。それから views の方ではviews の user のlogin.php こちらを開きます。ではまずこちらの login.php にログイン画面を作っていくんですけれども2つ前のレッスンで作ったcreate.php のこちらのフォームが役立ちますのでこれをそのままコピーしてくると便利でしょう。こちらログインとしましてそしてこちら今度はuser/create ではなくてlogin にジャンプするようにします。ユーザー名とパスワードはそのままでよくてsubmit ボタンもそのままで結構ですがlabel をログインに変更します。これでログイン画面が完成です。実際に画面を見ていきましょう。では MAMP の環境設定でこちらプロジェクトのフォルダをlesson07-04 としましてOK します。 再起動し、ログイン画面に移動します。するとこのようにユーザー名とパスワードを入れる欄ができますのでここに先程登録したユーザー名とパスワードを入れてログインボタンをクリックすればログインができるという仕組みにしていきたいと思います。では、次にコントローラーを作り込んでいきましょう。user.php でこちらaction_login というアクションが定義されています。ここには今は title と content だけが表示されていますけれどもここにログインの処理を入れていきます。ここでは、if のinput の method というメソッドがPOST を指名していればログインボタンがクリックされた事が分かります。そこでここでですねAuth if としてAuth の login の処理でInput の POST の username とInput の POST のpassword を渡していきます。この Auth が成功した場合にはこちらの admin の画面にジャンプさせましょう。こうなります。こちらで method が POST の場合つまり、ログインボタンが押された場合ということでAuth のログインメソッドでユーザー名とパスワードを渡します。 認証が上手く通ればResponse redirect としてAdmin 画面にジャンプします。本来であればここでもし認証に失敗した場合はということで何かメッセージ等を登録しこちらのログイン画面の方にユーザー名又はパスワードが間違えています等と表示すると親切なんですがここではその処理は省略していきたいと思います。ではこちらで画面の方を見ていきましょう。ログイン画面にアクセスしまずは適当なユーザー名とパスワードを入れてみます。すると、ログイン画面に戻ってしまいますがここで正しい ID とパスワードを入れてログインボタンをクリックしましょう。すると、このようにAdmin の Index にジャンプしこのページはメンバー限定ですというページも見られるようになりました。もちろん view の action の方も同じく見ることができます。このセッションはしばらくの間このように生きていますのでその都度ユーザー認証する必要なくこの様にメンバー限定のページを見ることができます。では、ログインが必要なくなった場合どのようにログアウトしたらいいのかというところも見ていきましょう。ではここではadmin view を見ていきます。 こちら index.php の方にログアウトのリンクを準備していきましょう。ここではこちら Html オブジェクトのanchor メソッドというものを使ってログアウトへのリンクを張ってみます。これは html が分かっていれば普通のタグでも構いません。これで実際に管理者のこちらのインデックスを見ていきます。すると、こちらログアウトというリンクが準備されました。現状はまだログアウトは何も制御されていませんのでここにログアウトの処理を記述していきましょう。こちら今度は classes のcontroller の user.php を編集します。action_logout と書かれている場所は今は View が割り当てられていますがここでは view は必要ありませんので削除してしまいます。そしてここで Auth の logout というメソッドを実行しResponse redirect としてここでは user の login にredirect するようにしましょう。これでログアウトの処理をするとログイン画面に戻るという動きになりました。では、実際に動きを確認してみます。改めてメンバー限定のページを表示するとログアウトのリンクが準備されています。 このリンクをクリックするとログイン画面に戻りました。これでユーザーの認証情報は無くなりましたのでadmin/index に移動するとこの様にログイン画面に移動させられてしまいます。同じく admin/view を表示しようとしようとしてもログイン画面に戻されるという事でログアウトが完了していることが確認できます。このように SimpleAuth パッケージを使っていけばそれなりに簡単にユーザー認証を作ることができます。とはいえ、登録の手続きやログインの手続きなどいくつか自分でスクリプトを組まなければならない部分はありますのでひとつひとつ注意しながら組み上げていくと良いでしょう。

FuelPHPによるMVCプログラミング入門

このコースでは、PHPのフレームワークのひとつであるFuelPHPを紹介していきます。フレームワークとはスクリプト開発における「足場」となるもので、近年のスクリプト開発においては非常に一般的な存在となっています。高速な開発スタイルをぜひとも身に付けていきましょう。

6時間19分 (47 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月12日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。