繁体   English   中英

Laravel成功登录后如何更改登录页面?

[英]How can I change the landing page after a success Laravel login?

我绝对是Laravel的新手 ,但我遇到以下问题。 我正在使用Laravel 5.3

当我从登录页面执行登录时,它会自动将我带到该主页上:

http://localhost:8000/home

我的疑问是:成功登录后如何更改登录页面?

我有以下路线:

Andrea@Andrea-PC MINGW64 ~/Documents/Betrivius/WorkSpace/betriviusExtranet (master)
$ php artisan route:list
+--------+----------+------------------------+----------+------------------------------------------------------------------------+--------------+
| Domain | Method   | URI                    | Name     | Action                                                                 | Middleware   |
+--------+----------+------------------------+----------+------------------------------------------------------------------------+--------------+
|        | GET|HEAD | /                      |          | App\Http\Controllers\LoginBetriviusController@index                    | web          |
|        | GET|HEAD | api/user               |          | Closure                                                                | api,auth:api |
|        | POST     | doLogin                |          | App\Http\Controllers\LoginBetriviusController@doLogin                  | web          |
|        | GET|HEAD | home                   |          | App\Http\Controllers\HomeController@index                              | web,auth     |
|        | POST     | login                  |          | App\Http\Controllers\Auth\LoginController@login                        | web,guest    |
|        | GET|HEAD | login                  | login    | App\Http\Controllers\Auth\LoginController@showLoginForm                | web,guest    |
|        | POST     | logout                 | logout   | App\Http\Controllers\Auth\LoginController@logout                       | web          |
|        | POST     | password/email         |          | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web,guest    |
|        | GET|HEAD | password/reset         |          | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest    |
|        | POST     | password/reset         |          | App\Http\Controllers\Auth\ResetPasswordController@reset                | web,guest    |
|        | GET|HEAD | password/reset/{token} |          | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web,guest    |
|        | GET|HEAD | register               | register | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web,guest    |
|        | POST     | register               |          | App\Http\Controllers\Auth\RegisterController@register                  | web,guest    |
+--------+----------+------------------------+----------+------------------------------------------------------------------------+--------------+

因此,我尝试修改LoginController (与App \\ Http \\ Controllers \\ Auth命名空间相关),将其值更改为:

protected $redirectTo = '/home';

至:

protected $redirectTo = '/dashboard-hotel';

其中dashboard-hotel代表成功登录后要打开的dashboard-hotel.php视图。

但是以这种方式,我会收到以下错误消息:

NotFoundHttpException in RouteCollection.php line 161:
in RouteCollection.php line 161
at RouteCollection->match(object(Request)) in Router.php line 766
at Router->findRoute(object(Request)) in Router.php line 621
at Router->dispatchToRoute(object(Request)) in Router.php line 607
at Router->dispatch(object(Request)) in Kernel.php line 268
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 150
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117
at Kernel->handle(object(Request)) in index.php line 54
at require_once('C:\Users\Andrea\Documents\Betrivius\WorkSpace\betriviusExtranet\public\index.php') in server.php line 21

这是我的/routes/web.php文件内容:

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| This file is where you may define all of the routes that are handled
| by your application. Just tell Laravel the URIs it should respond
| to using a Closure or controller method. Build something great!
|
*/

Route::get('/', 'LoginBetriviusController@index');

Route::post('/doLogin', 'LoginBetriviusController@doLogin');

Auth::routes();

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

那么,怎么了? 我想念什么? 如何解决此问题?

  1. 添加Route::get('/dashboard-hotel', 'DashboardHotelController@index'); 到您的/routes/web.php

  2. app / Http / Controllers中创建一个名为DashboardHotelController.php的文件

  3. 将此内容放在那里

 <?php namespace App\\Http\\Controllers; class DashboardHotelController extends Controller { /** * Create a new controller instance. * DashboardHotelController constructor. */ public function __construct() { $this->middleware('auth'); } /** * Show the application dashboard. * @return \\Illuminate\\Http\\Response */ public function index() { return view('dashboard-hotel'); } } 
  1. 在您的resources / views文件夹中创建一个名为dashboard-hotel.blade.php的文件

  2. 在此处编写您的HTML /刀片代码

  3. 不要忘记打开终端并输入composer dump-autoload -o

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM