Laravel 5.3 将主页设置为登录屏幕

Posted

技术标签:

【中文标题】Laravel 5.3 将主页设置为登录屏幕【英文标题】:Laravel 5.3 set homepage as login screen 【发布时间】:2017-05-30 02:39:11 【问题描述】:

如何在 Laravel 5.3 中将主页 (/) 设置为登录屏幕?

我有一个路由文件:

Route::get('/', function () 
    return view('welcome');
);

我已经使用命令php artisan make:auth 设置了基本的身份验证脚手架,并且还设置了我的数据库表。

但我很难理解如果用户未通过身份验证,如何将主页设置为始终进入登录屏幕?这肯定是我傻了吧?

【问题讨论】:

【参考方案1】:

我只需要为我的路线指定middleware('auth')

 Route::get('/', function () 
        return view('home');
    )->middleware('auth');

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

这样,如果你没有登录,它会自动重定向到登录。

【讨论】:

【参考方案2】:

你可以这样做:

Route::group(['middleware' => 'auth'], function () 
    Route::get('/', function () 
        return view('welcome');
   );
);

只需将所有需要身份验证的路由放在该中间件组中即可。

【讨论】:

【参考方案3】:

通常在 laravel 中,您可以将 url 视图路径更改为您想要的示例

Route::get('/', function () 
    return view('auth.login');
);

【讨论】:

【参考方案4】:

在 laravel 5.4 中,您可以将路线修改为 Route::get('/', 'Auth\LoginController@showLoginForm');

【讨论】:

以上是关于Laravel 5.3 将主页设置为登录屏幕的主要内容,如果未能解决你的问题,请参考以下文章

如果尝试进入登录屏幕,Laravel 5 会重定向到主页

Laravel 5.3 Rest API 登录

Laravel 5.3 登录成功后声明全局会话变量

Laravel 5.3记住我身份验证问题

Laravel 5.3记住我身份验证问题

Laravel 身份验证在 laravel 5.3 中无法正常工作