Laravel - 注销特定用户

问题描述 投票:9回答:4

我知道如何登录用户,但如何从应用程序中注销指定的用户?似乎没有足够的报道。

authentication laravel logout
4个回答
4
投票

当您是管理员并想要阻止某些用户时,会出现此问题。然后当你阻止用户时,你想要非常地注销他。对于laravel 5.2(也是较低版本的maby),您可以创建middelware:

创建中间件

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class BockedUser
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        $user = Auth::user();
        if ($user and $user->is_bocked) {
            Auth::logout();
            return redirect('/login');
        }

        return $next($request);
    }
}

在app / Http / Kernel.php的$ middlewareGroups>'web'部分添加\ App \ Http \ Middleware \ BockedUser :: class。我猜你所有的路线都在Route::group(['middleware' => 'web'], function () { .. all your routes ..}


1
投票

您可以在laravel 4.2中注销特定用户注销,并且您正在使用多个身份验证

/* for normal user logout */
 Auth::user()->logout();

 /* for admin user logout */
 Auth::admin()->logout();


/* for manager user logout */
 Auth::manager()->logout();

因为你让用户认证


0
投票

您可以在访问任何经过身份验证的功能时注销用户,例如编辑个人资料,编辑帖子,创建帖子等。例如:

   public function edit()
   {
      if (!\Auth::user()->active)
      {
        \Auth::logout();
        return redirect('/');
      }
      // code here
   }

0
投票

使用set user查找解决方案

获得当前用户

$user = Auth::user();

您想要的注销用户

$userToLogout = User::find(5);
Auth::setUser($userToLogout);
Auth::logout();

再次设置当前用户

Auth::setUser($user);
© www.soinside.com 2019 - 2024. All rights reserved.