【问题标题】:How to redirect the user to dashboard if i remove the "/dashboard" from the port server in Laravel? [closed]如果我从 Laravel 的端口服务器中删除“/dashboard”,如何将用户重定向到仪表板? [关闭]
【发布时间】:2023-04-08 16:28:01
【问题描述】:

我的端口服务器是我的登录界面。 * http://127.0.0.1:8000/* 这是我的登录部分,输入我的详细信息后,它会将我重定向到我的仪表板http://127.0.0.1:8000/dashboard。但是,如果我从 url 中删除 /dashboard,即使我仍在会话中并且尚未单击注销按钮,它也会让我返回登录状态。如果我再次放置 /dashboard,我将返回仪表板,因为用户仍在会话中。即使我删除了 /dashboard,我也想返回仪表板。如何在 Laravel 中做到这一点?

【问题讨论】:

标签: php laravel authentication session dashboard


【解决方案1】:
  • 中间件可以为您完成这项工作。只需关注
  1. 首先,您必须创建一个中间件。
php artisan make:middleware RedirectIfUserAuthenticated
  1. 在内核中注册您的中间件:
 protected $routeMiddleware = [
    ..............................
    'auth.backend' => Middleware\RedirectIfUserAuthenticated::class,
 ];
  1. 在您希望用户验证的路由或控制器上调用您的中间件,在他们登录后可以看到。
Route::group(['middleware' => ['auth.backend'], function () {
     // Add your routes except login route.
}]);
  1. 让我们将一些代码添加到我们创建的中间件中:RedirectIfUserAuthenticated
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class RedirectIfUserAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        if (auth()->check()) {
            return redirect()->to('/dashboard');
        }

        return $next($request);
    }
}
 
  • 重要提示:您可以将 middlware auth 添加到您的路线中,如果您不想创建新路线,这也可以: 位于:Middlewares/Authenticat.php 和自定义任何你想要的。
Route::group(['middleware' => ['auth'], function () {
     // Add your routes except login route.
}]);

完成!

【讨论】:

  • 谢谢。我会做这个。对不起,我是 Laravel 的新手。
  • 不客气@路飞
  • 我试了会在这里回复。
【解决方案2】:

在您的 RouteServiceProvider 中,HOME 是否设置为“/dashboard”?

public const HOME = '/dashboard';

【讨论】:

  • 是的,我想在我还在登录时重定向。
  • 我试过了。但还是一样,还是会回到我的登录路径。
【解决方案3】:

您可以将 guest 中间件添加到您的 / 路由或您希望将“经过身份验证的”用户发送到“仪表板”的任何路由:

Route::get('/', ...)->middleware('guest');

根据版本,这已经将任何经过身份验证的用户重定向到/dashboard。

【讨论】:

    猜你喜欢
    • 2016-12-08
    • 2016-07-25
    • 2021-03-13
    • 2019-02-02
    • 2023-04-10
    • 2019-06-22
    • 2018-08-26
    • 2019-08-23
    • 1970-01-01
    相关资源
    最近更新 更多