Auth After Middleware

Я хочу аутентифицировать пользователя после запроса с помощью моего собственного промежуточного программного обеспечения:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Auth\Middleware\Authenticate;

class AuthenticateAfter extends Authenticate
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string[]  ...$guards
     * @return mixed
     *
     * @throws \Illuminate\Auth\AuthenticationException
     */
    public function handle($request, Closure $next, ...$guards)
    {
        $response = $next($request);

        $this->authenticate($request, $guards);

        return $response;
    }
}

Я расширяю Illuminate\Auth\Middleware\Authenticate и изменяю метод handle, чтобы он выполнялся как после промежуточного программного обеспечения.

Затем он объявляется в моем ядре и на правильном маршруте.

Но меня всегда отбрасывают обратно на страницу, на которой я был ранее, после входа в систему.

Я хочу управлять страницей, на которую я перехожу, поэтому до того, как промежуточное программное обеспечение сработает, я делаю:

$request->session()->put('url.intended', 'my-test-url');

Но не удается перенаправить на этот маршрут.

Как я могу заставить его перенаправить на настраиваемый маршрут?


person panthro    schedule 14.03.2019    source источник


Ответы (2)


попробуйте: return redirect ('view') или return redirect () -> to ('/ route')

person Rodrigo Contreras    schedule 14.03.2019

Попробуйте это,

public function handle($request, Closure $next, ...$guards)
{
    $response = $next($request);

    $this->authenticate($request, $guards);

    return redirect('/your_page_path');    
}

Для справки, вот что я использую для аутентификации пользователя:

public function handle($request, Closure $next)
{
    if (auth()->user() && auth()->user()->type != 'admin')
    {
        return redirect('/unauthorized');
    }
    return $next($request);
}
person Chandni Soni    schedule 15.03.2019