【发布时间】:2019-04-21 21:11:49
【问题描述】:
我有一个销毁帖子的路线,我怎样才能使可以访问该路线的人只有帖子创建者?例如,我有一个 id 为 3 且用户 id 为 5 的帖子,所以唯一可以删除 3 号的只有用户 id 5。我试过弄乱中间件,但没有幸运地让它工作。
CekStatus.php(中间件)
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');
内核.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
【问题讨论】:
标签: laravel eloquent laravel-5.8