![](/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.