如何在Laravel中移除Auth(PHP artisan)

32

使用此命令php artisan make:auth,我得到了所有身份验证(auth)的东西,但我想知道如何删除它,或者如何重新初始化。

我已经删除了所有创建的文件,但是当我重新运行命令时,它不会再次创建mysql用户表。


5
可能会有一些人在踩了我的内容之后留下评论。这些评论可能会帮助我理解我做错了什么。 - Vixed
2
同样的原因也点了赞。 - Sander Visser
7个回答

16

查看make:auth命令的源代码,以了解此命令具体添加或更改的文件,并将更改还原。

正如您所看到的,您应该删除一些视图和一些控制器。

auth/login.blade.php
auth/register.blade.php
auth/passwords/email.blade.php
auth/passwords/reset.blade.php
layouts/app.blade.php
home.blade.php

1
我已经删除了所有已创建的文件,但是当我重新运行命令时,它并没有再次创建mysql用户表。 - Vixed
@Vixed,这是因为该命令不会创建任何表。Laravel默认提供了users表迁移。如果您已删除所有表,请删除migrations表并运行php artisan migrate命令以重新创建users表。 - Alexey Mezenin
刚刚完成了,但仍然没有任何结果。我尝试了我所知道的一切,但是什么也没有。 - Vixed
你是否执行了 php artisan migrate 命令?它的输出是什么? - Alexey Mezenin
1
看起来你没有删除 migrations 表。 - Alexey Mezenin
同时从 app/http/controller 中删除 auth 目录。 - kush

9

查看make:auth命令的源代码,以了解其创建或更改的文件。

您需要删除以下文件:

  1. auth/login.blade.php
  2. auth/register.blade.php
  3. auth/passwords/email.blade.php
  4. auth/passwords/reset.blade.php
  5. layouts/app.blade.php
  6. home.blade.php

完成上述操作后,

请前往routes/web.php,删除使用make:auth命令创建的所有路由。删除以下两行代码,这样您的项目就能正常运行了。

Auth::routes();

Route::get('/home', 'HomeController@index');

同时,从app/http/controller中删除auth目录。 - kush

4

您需要从数据库中删除用户表。还需要从迁移表中删除迁移条目。 然后,注释掉路由文件夹中web.php文件中的auth路由代码,如下所示:

Auth::routes();

还要从HomeController __construct()函数中注释掉middleware

$this->middleware('auth'); 

中间件控制器和文件夹?你是认真的吗? - Vixed

1
移除
resources/views/auth   
resources/views/home.blade.php 
resources/views/layouts

(可选项,如果您不需要它。它不会影响您的代码)
然后删除
Auth::routes(); 
Route::get('/home','HomeController@index')->name('home');

请修改HomeController.php中的函数:
public function index()
{
   return view('welcome');
}

为了完美,运行php artisan migrate:refresh


0

你需要删除3个文件

 1. delete dossier auth
 2. layouts/app.blade.php
 3. home.blade.php

-3

只需运行以下代码即可解决您的问题:php artisan auth:clear-reset


-3

试试这个

php artisan view:clear

这将自动为您清除已编译的视图


这个命令只会清除视图缓存,与删除身份验证无关! - Tariqul Islam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接