Вы можете добавить промежуточное программное обеспечение, которое делает доступным управляющего пользователя, и вы можете установить его в качестве промежуточного программного обеспечения для вашей группы маршрутов, например auth:api
Пожалуйста, запустите php artisan make:middleware UserAccessible
на своем терминале.
После выполнения команды выше кустарного мастера вы увидите сгенерированный файл с именем UserAccessible.php
в папке App/Http/Middleware
.
UserAccessible.php
Содержание
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class UserAccessible
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$user = Auth::user();
if(!$user->accesible){
// redirect page or error.
}
return $next($request);
}
}
Затем необходимо определить промежуточное ПО маршрута.через App/Http/Kernel.php
Kernel.php
Содержание
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
...
'user_accessible' => \App\Http\Middleware\UserAccessible::class
];
И, наконец, вы можете определить промежуточное программное обеспечение для вашей группы маршрутов;
api.php
Содержание
Route::group(['middleware' => ['auth:api', 'user_accessible']], function () {
// your protected routes.
});
Надеюсь, это решит вашу проблему.