У меня есть маршрут для уничтожения Поста, как я могу сделать так, чтобы тот, кто может получить доступ к маршруту, был только создателем Поста? Например, у меня есть сообщение с идентификатором № 3 и идентификатором пользователя 5, поэтому единственный, кто может удалить номер 3, - это только идентификатор пользователя 5. Я пытался связываться с промежуточным ПО, но мне не повезло, чтобы заставить его работать.
CekStatus.php (Middleware)
class CekStatus
{
public function handle($request, Closure $next)
{
$userId = $request->id;
$user = Post::where('id', $userId)->select('user_id')->pluck('user_id')->first();
if ($user === Auth::id()) {
return $next($request);
}
return redirect('/'); //redirect anyware.
}
}
Маршрут
Route::get('/hapus/{id}','PostController@destroy')->middleware('cekstatus');
Kernel.php
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
'cekstatus' => \App\Http\Middleware\CekStatus::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
Выход:
ERR_TOO_MANY_REDIRECTS