首页 > 解决方案 > 如何向未在 Laravel 中注册的用户显示视图?

问题描述

我正在使用 Laravelmake:auth命令和用户的电子邮件验证。现在面临一个问题,当任何人访问我的网站时,如果用户未注册,身份验证将引发并将用户重定向到登录页面,应先注册并验证电子邮件,然后再开始访问我的网站。我想向任何未登录或未注册的人展示我的所有路线。而且我还需要在用户注册时验证他们的电子邮件。它仅向注册和登录用户显示溃败,但我想向每个人显示。

    public function __construct()
    {
     $this->middleware(['auth' => 'verified']);
    }

验证电子邮件后,它会显示路线。如果我评论此代码,它将正常工作,但我还需要验证电子邮件。

标签: phplaravel

解决方案


这取决于您对显示给访问者的数据的保护程度。

您可以尝试的一种方法是对您希望所有查看者访问的那些路由不使用中间件,并使用简单的 if else 条件来显示相应的视图:

public function __construct()
{
 // no middleware
}

public funtion index() {
 if(Auth::check()) {
  return view('logged.blade.php'); // for logged in users
 }
 return view('general.blade.php'); // for all visitors
}

推荐阅读