在Laravrel 5.4中设置auth中间件

时间:2017-08-19 08:19:00

标签: laravel-5.4

我想知道如何在laravel 5.4中设置 auth 中间件。我正在尝试设置重定向路由

namespace App\Http\Middleware;

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

class RedirectIfAuthenticated
{
    /**
     * 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::guard($guard)->check()) {
            return redirect()->route('home');
        }

        return $next($request);
    }
}

但没有chages。 有人可以提出解决方案吗?

1 个答案:

答案 0 :(得分:0)

您的中间件可能按原样运行,但您仍需要启用此功能。有关注册中间件的信息可以在here找到,但简而言之:

// Within App\Http\Kernel Class...

protected $routeMiddleware = [
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
];

这会将您的中间件命名为“guest”(如果您事先执行了php artisan make:auth,则可能已启用此功能。

然后你需要应用它,这可以通过两种方式中的一种来完成。

在路线上。

  1. 直接 Route::get('admin/profile', 'AdminController@show')->middleware('guest');
  2. 有团体 Route::group(['middleware' => ['guest']], function () {//other routes});