Laravel版本:5.7.10PHP版本:7.2.10数据库驱动程序&版本:MySql 8.0.11
我让新用户在我向他们发送首次登录凭据之前验证他们的电子邮件地址。他们收到验证电子邮件,验证工作就开始了。但是,他们之后应该重定向到的页面不会出现。此时会显示主页。下次登录时,他们将进入验证后页面。路由上没有设置身份验证中间件,当我没有登录时,我可以很好地到达后验证页面
我在VerificationController中用protected$redirectTo='/validated'设置了重定向页面。这是有效的,只是在用户登录之前不会
通过github的问题。只需更改
$this->middleware('auth');
至
$this->middleware('auth')->except('verify');
根据luminosty的评论更改中间件,并从更改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);
}