我已成功设置Laravel中间件以检查用户是否第一次登录(通过简单检查$user->last_logged_in_date field
中的空值)。我想要的是将这些新用户重定向到/password/reset
视图,以便他们可以填写他们的电子邮件地址并获取发送给他们的链接。
我收到了
的消息尝试打开“localhost:8000”
时发生了太多重定向如果您打开重定向以打开另一个页面的页面,则可能会发生这种情况 页面然后被重定向以打开原始页面。
我的控制器都引用了$this->middleware(['auth', 'new_user']);
,我的中间件如下所示:
<?php
namespace App\Http\Middleware;
use Closure;
use App\Http\Controllers\Auth;
class CheckIfNewUser
{
public function handle($request, Closure $next)
{
$user = $request->user();
if (! is_null($user->last_logged_in_date )) {
return $next($request);
}
return redirect('password/reset');
}
}
任何指导?
答案 0 :(得分:0)
因此,如果我理解正确,密码重置控制器使用
期望用户无法登录的guest
中间件。
您已经创建了一个new_user
中间件,当用户登录但新的时候会启动它。
因此,登录的新用户被发送到需要访客的重置控制器,您显然不是因为您已登录,因此它会将您发送回您的家庭控制器,该控制器会检查并看到您是新用户,因此它会让你重置密码....你得到的图片:))