Laravelの認証機能を少し触ってみます。
使い方
認証に必要なビューとルーティングを設定するコマンドが用意されているようなので、今回はそちらを使ってみます。
Laravelをインストール後、下記コマンドを実行します。
php artisan make:auth
下記ファイルが生成・変更されました。
Created View:resources/views/auth/login.blade.php Created View:resources/views/auth/register.blade.php Created View:resources/views/auth/passwords/email.blade.php Created View:resources/views/auth/passwords/reset.blade.php Created View:resources/views/auth/emails/password.blade.php Created View:resources/views/layouts/app.blade.php Created View:resources/views/home.blade.php Created View:resources/views/welcome.blade.php Installed HomeController. Updated Routes File.
次にデータベースを用意して、.envファイルの下記部分を書き換えます。
DB_DATABASE=データベース名 DB_USERNAME=ユーザー名 DB_PASSWORD=パスワード
下記コマンドを実行して、認証用のテーブルを作成します。
php artisan migrate
migrationファイルはLaravelであらかじめ用意されています。
これで一通りの作業は完了したので、下記コマンドを実行してhttp://localhost:8000/にアクセスしてみます。
php artisan serve
下記のように表示されました。
右上のRegisterからユーザーの登録を行ってみます。
ユーザー登録画面(http://localhost:8000/register)が表示されました。
各項目を入力して、Registerをクリックします。
http://localhost:8000/に遷移しましたが、右上に先ほど入力したユーザー名が表示されているのが確認できます。
右上のユーザー名をクリックすると、Logoutボタンが表示されます。
一旦Logoutをクリックしてログアウトします。
最初の表示に戻りました。
次はログインを行ってみます。
先ほど登録したユーザー情報を入力して、Loginをクリックします。
http://localhost:8000/homeに遷移して、以下のような表示になりました。
HomeController.phpを修正して、認証済みユーザーの情報を取得してみます。
app\Http\Controllers\HomeController.php
<?php namespace App\Http\Controllers; use App\Http\Requests; use Illuminate\Http\Request; use Auth; class HomeController extends Controller { /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('auth'); } /** * Show the application dashboard. * * @return \Illuminate\Http\Response */ public function index() { // ログインしている場合 if (Auth::check()) { // 認証済みユーザーの情報取得 $user = Auth::user(); // ユーザー名の取得 $username = $user->name; return var_dump($username); } } }
ログインしている場合、http://localhost:8000/homeでユーザー名が出力されるのが確認できました。
【参考サイト】
コメントが承認されるまで時間がかかります。