Laravel : Illuminate\Auth\AuthManager::$isAdmin

问题描述 投票:0回答:1

我试图通过登录页面访问管理页面,但我得到一个错误。

ErrorException Undefined property
Illuminate\Auth\AuthManager::$isAdmin

appHttp\\Middleware\Admin.php)。

    public function handle($request, Closure $next)
    {
        if(auth()->isAdmin == 1){
            return $next($request);
        }
        return redirect('login')->with('error', 'you don\'t have admin access');
    }

appHttp\\Kernel.php

    'admin' => \App\Http\Middleware\Admin::class,

appHttp\\Providers\User.php

    protected $fillable = [
        'name', 'email', 'password', 'isAdmin'
    ];

databasemigrations\2014_10_12_000000_create_users_table.php。

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->date('birth')->nullable();
            $table->string('image')->nullable();
            $table->string('email')->unique();
            $table->float('balance')->default(0);
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->boolean('isAdmin')->default(0);
            $table->rememberToken();
            $table->timestamps();
        });
    }

谁能帮我搞清楚?谢谢你的帮助

php laravel
1个回答
0
投票

你的中间件应该是这样的

public function handle($request, Closure $next)
    {
        if($request->user()->isAdmin == 1){
            return $next($request);
        }
        return redirect('login')->with('error', 'you don\'t have admin access');
     }

这是我的一个应用中实际运行的中间件。

class IsAdmin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (($request->user()->profile->role !== 'admin')) {
            return redirect('home')->with('warning', 'Access denied! Contact admin.');
        }
        return $next($request);
    }
}

在你的例子中: if (($request->user()->isAdmin == 1)) {

© www.soinside.com 2019 - 2024. All rights reserved.