5-2
讓閒雜人等不能進入後台
- 目前的後台是只要知道路徑者都可以進去管理。
- 我們可以根據權限來控管,並在路由中利用中間件來執行權限判斷,因此,我們利用artisan來產生裝middleware檔案:
php artisan make:middleware AdminMiddleware
- 編輯
\專案\app\Http\Middleware\AdminMiddleware.php
內容為:
<?php
namespace App\Http\Middleware;
use Closure;
class AdminMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!$request->user()->hasAnyPermission('後台管理')) {
abort(403);
}
return $next($request);
}
}
- 修改
\專案\config\backpack\base.php
的路由設定:
'middleware_class' => [
\Backpack\Base\app\Http\Middleware\CheckIfAdmin::class,
\App\Http\Middleware\AdminMiddleware::class,
],
- 該檔案上方也有一些界面上的設定,高興的話,也可以設定一下,然後就可以試試 看囉!
- 如果覺得預設的403畫面看不懂,那麼,也可以自行修改一下。開啟
\專案\resources\views\errors\403.blade.php
,改成:
@extends('layouts.app')
@section('content')
<h1>403 Forbidden.</h1>
<p>您沒有權限可以執行目前的動作喔!</p>
@endsection