我知道如何登录用户,但如何从应用程序中注销指定的用户?似乎没有足够的报道。
答案 0 :(得分:4)
当您是管理员并希望阻止某些用户时,会出现此问题。然后当你阻止用户时,你想要非常地注销他。对于laravel 5.2(也是较低版本的maby),您可以创建middelware:
创建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>部分'网'添加\ App \ Http \ Middleware \ BockedUser :: class。我猜你的所有路线都在Route::group(['middleware' => 'web'], function () { .. all your routes ..}
答案 1 :(得分:1)
您可以在laravel 4.2中注销特定用户注销并使用多个身份验证
let firstCircle = SKSpriteNode(imageNamed: "Circle")
let particle = SKEmitterNode(fileNamed: "FirstParticle.sks")
override func didMoveToView(view: SKView)
{
firstCircle.physicsBody = SKPhysicsBody(circleOfRadius: 7)
firstCircle.physicsBody?.affectedByGravity = false
particle.targetNode = self
addChild(firstCircle)
firstCircle.addChild(particle)
}
因为你让用户认证
答案 2 :(得分:0)
您可以在访问任何经过身份验证的功能时注销用户,例如编辑个人资料,编辑帖子,创建帖子等。例如:
public function edit()
{
if (!\Auth::user()->active)
{
\Auth::logout();
return redirect('/');
}
// code here
}
答案 3 :(得分:0)
获取当前用户
$user = Auth::user();
您要注销的用户
$userToLogout = User::find(5);
Auth::setUser($userToLogout);
Auth::logout();
再次设置当前用户
Auth::setUser($user);
答案 4 :(得分:0)
如果您知道他的用户ID,
//要注销特定用户:
//$id == user id to to whom you want to logout
\DB::table('users')->where('id', $id)->update(['remember_token' => null]);
\DB::table('sessions')->where('user_id', $id)->delete();
//要注销所有用户
$sessions = glob(storage_path("framework/sessions/*"));
foreach ($sessions as $file) {
if (is_file($file))
unlink($file);
}
//$id == user id to to whom you want to logout
\DB::table('users')->update(['remember_token' => null]);
\DB::table('sessions')->truncate();
如果您不使用数据库作为会话驱动程序,则无需使用会话表操作。