![](/img/trans.png)
[英]How to disable auto login in laravel 8 and redirect to a simple page with success message(after registration)
[英]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');
那么,怎么了? 我想念什么? 如何解決此問題?
添加Route::get('/dashboard-hotel', 'DashboardHotelController@index');
到您的/routes/web.php
在app / Http / Controllers中創建一個名為DashboardHotelController.php的文件
將此內容放在那里
<?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'); } }
在您的resources / views文件夾中創建一個名為dashboard-hotel.blade.php的文件
在此處編寫您的HTML /刀片代碼
不要忘記打開終端並輸入composer dump-autoload -o
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.