我有一个问题,我想在用户登录后向会话添加变量(我使用Laravel 5及其artisan make:auth
的身份验证。它看起来像这样:user->login->give_him_a_key->logout->delete_key
。我创建了一个{ {1}}为此但我意识到当用户登录时我不能只运行一次middleware
,然后我转到文件middleware
并在函数AuthenticateUser.php
中添加我的代码。我的老师说这不好,因为我改变了laravel的代码。他让我尝试在不改变laravel代码的情况下完成它。
我尝试但在用户登录后无法找到如何捕获login
并使其仅运行一次。我需要一些指导。
答案 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;
}
}
根据您的申请更改路线