Laravel 5.7 - 如何在用户未登录时显示电子邮件验证重定向页面?

Laravel 5.7 - How can I show email verification redirect page when the user is not logged in?

Laravel版本:5.7.10 PHP版本:7.2.10 数据库驱动程序和版本:MySql 8.0.11

我让新用户验证他们的电子邮件地址,然后再向他们发送首次登录凭据。他们收到验证电子邮件,并且验证有效。但是,他们之后应该重定向到的页面没有出现。而是出现主页。下次他们登录时,他们将进入 post-验证页面。路由上没有设置auth中间件,我在未登录的情况下可以正常到达post-验证页面

我在 VerificationController 中使用 protected $redirectTo = '/verified' 设置了重定向页面。这是有效的,直到用户登录。

通过 github 中的问题。只需更改

$this->middleware('auth');

$this->middleware('auth')->except('verify');

根据 luminoslty 的评论更改中间件,并将 VerifiesEmail.php 从

更改为
public function verify(Request $request)
{
    if ($request->route('id') == $request->user()->getKey() &&
        $request->user()->markEmailAsVerified()) {
        event(new Verified($request->user()));
    }

    return redirect($this->redirectPath())->with('verified', true);
}

public function verify(Request $request)
{
    $user = User::find($request->route('id'));
    if ($user) {
        $user->markEmailAsVerified()) {
        event(new Verified($user));
    }

    return redirect($this->redirectPath())->with('verified', true);
}