Функция $ this-> middleware ('auth: guard') и $ this-> middleware ('guest: guard') - PullRequest
0 голосов
/ 03 июня 2019

Документация Laravel гласит, что мы можем передать параметр промежуточному программному обеспечению, указав :. здесь

Итак, если я передаю охрану в качестве параметра для guest или auth промежуточного программного обеспечения, например:

$this->middleware('guest:admin')

ИЛИ

$this->middleware('auth:admin')

Что это значит?

Как здесь, в AdminController.php

    class AdminController extends Controller
{

    use AuthenticatesUsers;


    protected $redirectTo = '/admin/dashboard';

    public function __construct()
    {
        $this->middleware('auth:admin')->except(['show_login','login']);
        $this->middleware('guest:admin')->only(['show_login','login']);
    }
}

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Этот параметр указывает охрану для аутентификации пользователя, см. Документы (прокрутите вниз до «Задание защиты») .

Подробнее о пользовательских охранниках: https://laravel.com/docs/5.8/authentication#adding-custom-guards

Промежуточное ПО auth определено в App\Http\Kernel:54, и вы можете изменить URL перенаправления в \App\Http\Middleware\Authenticate и \App\Http\Middleware\RedirectIfAuthenticated соответственно

0 голосов
/ 03 июня 2019

вы можете получить этот параметр в методе дескриптора промежуточного программного обеспечения.

public function handle($request, Closure $next, $role)
{
    if (! $request->user()->hasRole($role)) {
        // Redirect...
    }

    return $next($request);
}

для получения дополнительной информации читайте это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...