Laravel用户被禁用的问题,仍然可以登录

时间:2020-11-02 14:20:43

标签: php laravel laravel-middleware

问题很简单,当用户在表列``isBlocked`''中的值为1,则无法登录。但就我而言,stil可以。 我希望有人找到我看不到的问题

App\Middleware\ActiveUser.php

<?php

namespace App\Http\Middleware;

use Illuminate\Support\Facades\Auth;
use Validator,Redirect,Response;
use Closure;

class ActiveUser
{
    public function handle($request, Closure $next)
    {
        if (auth()->check())
        {            
            if (auth()->user()->isBlocked == 1) 
            {
                auth()->logout();
        
                return response(view('expired'));
            }

        } 
    return $next($request);
    }
}

App\Http\Kernel.php

protected $routeMiddleware = [
....
'active_user' => \App\Http\Middleware\ActiveUser::class,
];

web route

Route::group(['middleware' => ['active_user']], function(){
    Route::get('user/{param1}&={param2}', 'AuthController@index')->name('login');
});

1 个答案:

答案 0 :(得分:1)

我认为问题出在您的情况上

if (Auth::user() && Auth::user()->isBlocked == 1) {
    auth()->logout();
    // you can also abort that user from accessing web pages
    // App::abort(401);
    return response(view('expired'));

   
} else {
    return $next($request);
}