【问题标题】:Auth functionality not working身份验证功能不起作用
【发布时间】:2019-01-18 22:11:38
【问题描述】:

这似乎以前被问过,但是这些帖子中建议的方法都没有为我解决这个问题。

到目前为止我做了什么:

  1. 已运行make:auth 命令,该命令创建了auth 子文件夹、控制器并将Auth::routes(); 行添加到web.php 等。
  2. app.blade.php 中的 @guest 行正常工作,并在导航栏中显示登录、注册链接。
  3. 登录链接如下所示:

    <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
    

    这一行正确启动了“http://localhost/MyWebsite/public/login”,但它没有显示默认登录页面内容,而是显示 Laravel 错误页面说抱歉,找不到您要查找的页面

  4. LoginController 的构造函数在我加载我加载索引页面时被命中。
  5. route list 命令显示以下路线以及其他路线:

    GET|HEAD    login   login   App\Http\Controllers\Auth\LoginController@showLoginForm web,guest
    
  6. 我对@9​​87654332@ 文件进行了多次修改,从SO 上的不同接受答案中复制了内容。我也试过空的.htaccess 文件。
  7. 我也运行过config:cacheview:clear 命令。

还有其他的建议吗?

我正在使用 VSCode + XAMPP + Laravel 5.6。我已经在 MySQL 数据库上正确运行了迁移,并创建了 users 表。

【问题讨论】:

  • 你的 docroot 应该是 public 目录,看来你目前是上面的一个。如果 URL 仅为 /login,则路由登录可能会匹配。
  • 是的。事实上,我住的地方比本地主机低两层。我的完整路径是localhost/MyWebsite/public。即使我删除了MyWebsitepublic 文件夹仍然存在,因为它来自 Laravel。我应该在路由中进行哪些更改以使其引用正确的文件夹?
  • 这听起来你的页面内容中缺少 csrf 令牌。
  • 你的 Apache conf 中应该有一个名为 DocumentRoot 的设置,你可以调整。不过,我总是发现使用 ServerNameprojectxy.local 为每个项目创建一个额外的 VirtualHost 比将项目放在子目录中更方便。
  • @TobiasK:你是个好人。这解决了我的问题。谢谢

标签: php laravel laravel-5


【解决方案1】:

你的 docroot 应该是 public 目录,看来你目前是上面的一个。如果 URL 只是 /login,那么路由 login 可能会匹配。

您的 Apache conf 中应该有一个名为 DocumentRoot 的设置,您可以调整。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    相关资源
    最近更新 更多