Laravelの認証機能を使ってみる

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からユーザーの登録を行ってみます。

try-the-authentication-of-laravel01

ユーザー登録画面(http://localhost:8000/register)が表示されました。
各項目を入力して、Registerをクリックします。

try-the-authentication-of-laravel02

http://localhost:8000/に遷移しましたが、右上に先ほど入力したユーザー名が表示されているのが確認できます。

try-the-authentication-of-laravel03

右上のユーザー名をクリックすると、Logoutボタンが表示されます。
一旦Logoutをクリックしてログアウトします。

try-the-authentication-of-laravel04

最初の表示に戻りました。
次はログインを行ってみます。

try-the-authentication-of-laravel05

先ほど登録したユーザー情報を入力して、Loginをクリックします。

try-the-authentication-of-laravel06

http://localhost:8000/homeに遷移して、以下のような表示になりました。

try-the-authentication-of-laravel07

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でユーザー名が出力されるのが確認できました。

try-the-authentication-of-laravel08

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年12月
1234567
891011121314
15161718192021
22232425262728
293031