Laravel 権限よる表示制御と404ページの作成方法

Userモデル側でロールの判定は行い、middlewareではページ遷移の制御を行う
404はviews/errors/フォルダの下に404.blade.phpを作る

### middlewareによる制御
$ php artisan make:middleware Admin
$ git add .
$ git commit -m “user section working except security”

app/Http/kernel.php

protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        'admin' => \App\Http\Middleware\Admin::class,
    ];

Route

Route::group(['middleware']=>'admin', function(){
	Route::resource('admin/users', 'AdminUsersController');	
});

User.php

public function isAdmin(){
        if($this->role->name == "administrator"){
            return true;
        }
        return false;
    }

app/Http/Middleware/Admin.php

use Illuminate\Support\Facades\Auth;
public function handle($request, Closure $next)
    {
        if(Auth::check()){
            if(Auth::user()->IsAdmin()){
                return $next($request);
            }

        }
        return redirect('/');
    }

※return redirect(404);で404にリダイレクトする

### 404ページ作成
resources/views/errors/404.blade.php

<h1>Custom 404 Page</h1>

That’s it.
他のアプリケーションでどうやってるかや開発文化などにもよるが、403、404、503あたりはカスタムで作っておきたい。ちょくちょく、404に異常に凝ったデザインを見かけるが、私はシンプル派。デザイン全然勉強してないからかな😅😅😅