Laravel3今回から2回に渡り、認証を取り入れます。ソース:githubユーザー認証には準備が多少必要ですからね。Laravelの認証自体はシンプルなものです。ユーザーテーブルを用意し、それを元に認証を行います。認証はシンプルですが、ルートのフィルターとの組み合わせで、複雑な認証も実現できます。それは皆さんにお任せして、今回は一番シンプルな形で実現しましょう。ユーザーテーブルがなければ話になりません。覚えていますか、マイグレーション?使いますよ、マイグレーション。マイグレーションのコードを生成するためにArtisanコマンドラインを使うんでしたね。create_users_tableapplication/migrationsフォルダーに生成されたコードを開いてください。アルファベット順に並んでいるなら、一番下のPHPファイルですよ。先頭に生成日時が付きますからね。内容は以下の通りです。}}タイムスタンプを生成しております。いらなければ外してください。ユーザーの登録日などは、わりと知りたがられる情報です。残りのID、ユーザー名、パスワードが必要となります。長さの制限はありませんが、パスワードは暗号化の関係上、この程度が良いようです。本当かどうかは知りません。(前に調べたのですが、理由は忘れました。)作成したら、マイグレーションを実行します。migrate上手く行ったら次に、ユーザーを一人分作成しましょう。マイグレーションを使う練習だと思い、再度生成してください。insert_admin_user生成されたマイグレーションファイルは以下のように、入力してください。}}ポイントはパスワードをHashクラスでハッシュし保存していることです。パスワードの平文保存は絶対に避けましょう。盗まれた場合、ユーザーに迷惑がかかります。Laravelの認証はシンプルと言っても、多少のバリエーションが付けられます。設定ファイルを確認しましょう。config/auth.phpです。ドライバーはLaravelのアクティブレコード/クエリービルダーであるFluentか、ORMであるEloquentが選べます。これは、Authクラスにより認証中のユーザー情報がuser()メソッドで取得できるのですが、渡ってくるインスタンスに違いがあるようです。(私はいつも、Eloqunetを指定します。'password',という、わけのわからない設定が続きますね。これは認証に使用するカラム名です。ユーザー名に当たるカラムに何を使用するか、パスワードとしてどのカラムを使用するかを指定します。デフォルトでユーザー名に当たるものはメールアドレスになっています。今回はメールアドレスを用意していませんので、usernameに書き換えてください。これを忘れると、エラーにはならないのですが、認証できずに悩むことになります。初心者のかたはやりがちですので、注意しましょう。(私は3度繰り返し、やっと覚えました。ORMをドライバーで指定した場合に使用するORMモデルの名前です。デフォルト通り、Userのままにしてください。最後のtableはその名の通り、認証に使用するテーブルです。これもusersのまま、変更しません。続いて認証に使用するUserモデルを作成しましょう。usersテーブルに対するUserです。Laravelのネーミングルールに従っていますね。変えても良いのですが、設定が増えるので素直に作成しましょう。models.user.phpを作成してください。}}Postモデルとほぼ同じです。自動更新の$timestampsをtrueに設定しています。目新しいのはset_passwordです。set_で始まるメソッドはセッターとしてEloquentでは扱われます。これはパスワードを保存する場合に、自動的にハッシュをかけてから、保存するように設定しているわけです。認証に使用するからと言っても、特別の設定はありません。これで、認証のための準備は終了です。コーディングに入ります。