登录后立即行动

时间:2016-06-03 14:15:23

标签: php laravel-5

我有一个问题,我想在用户登录后向会话添加变量(我使用Laravel 5及其artisan make:auth的身份验证。它看起来像这样:user->login->give_him_a_key->logout->delete_key。我创建了一个{ {1}}为此但我意识到当用户登录时我不能只运行一次middleware,然后我转到文件middleware并在函数AuthenticateUser.php中添加我的代码。我的老师说这不好,因为我改变了laravel的代码。他让我尝试在不改变laravel代码的情况下完成它。

我尝试但在用户登录后无法找到如何捕获login并使其仅运行一次。我需要一些指导。

1 个答案:

答案 0 :(得分:1)

<? php

namespace App\ Http\ Middleware;

use Closure;

class AfterMiddleware {
  public

  function handle($request, Closure $next) {
    $response = $next($request);
    $login_route = "segement1/segement2..";
    $logout_route = "segement1/segement2..";

    if ($request - > is($login_route) && !$request - > session() - > has('key')) {
      $request - > session() - > put('key', 'value');
    }

    if ($request - > is($logout_route) && $request - > session() - > has('key')) {
      $request - > session() - > forget('key');
    }

    return $response;
  }
}

根据您的申请更改路线