php - Laravel 5.1 是管理员

标签 php laravel laravel-5.1

我有一个简单的用户表,我通过在类型列中包含 1 来定义和管理该表。

我的中间件中有以下设置,但这仍然无法阻止非管理员访问仅管理区域。

中间件:

<?php 

namespace App\Http\Middleware;

use Closure;

class Admin {

  public function handle($request, Closure $next)
    {
        if (Auth::user()->isAdmin())
        {
            return redirect('home');
        }

        return $next($request);
    }

}

内核:

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

路线:

Route::group(['middleware' => 'auth', 'admin'], function () {

Route::get('admin/dashboard', 'AdminController@dashboard');
Route::get('admin/orders', 'AdminController@orders');

});

我的用户类中的函数:

public function isAdmin()
    {

        if (Auth::user()->type == '1')
        {
            return true;
        } 
        else 
        {
            return false;
        }

    }

最佳答案

您需要将多个中间件作为数组传递:

Route::group(['middleware' => ['auth', 'admin']]

关于php - Laravel 5.1 是管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36433738/

相关文章:

php - 从后台进程启动后台进程

php - Laravel 构建 Eloquent 查询以使用过滤器获取数据

php - 如何显示 ModelNotFoundException laravel 的 404

php - Laravel:Telegram SDK 不适用于 Laravel 5.5

php - 删除记录 : Laravel 5. 2.15 的最佳方法是什么

php - MYSQL 查询 - 获取当前用户的帖子和用户正在关注的帖子

php - php session 关闭后如何重新打开它?

php - 如何使输入值成为 mysql 行?

php - Laravel 5 获取具有关系和多重关系的用户

laravel - 如何在laravel中更改不同页面的不同标题