我需要客人只能访问链接“fixtures/1”和“fixtures/2”
当他们设法使用其他 ID 时,例如“fixtures/3”,他们应该得到类似“找不到页面”的信息
我是这样试的:
mainChunk
但它不起作用。 有人可以帮助我,我如何添加这样的条款?
这是我没有任何变化的路线:
Route::get('/fixtures/{team}', function ($team) {
//
})->where($team, '1')->name('front.fixtures');
已编辑:
我尝试使用 if 来限制,但每次打开页面时它不检查 id,这是我的方法:
Route::get('/fixture/{team}', 'FrontController@fixtures')->name('front.fixtures');
答案 0 :(得分:0)
使用这个中间件代码。
public function handle(Request $request, Closure $next)
{
$auth = \Auth::check();
if($auth == false){
if ($request->route('team') == '3' || $request->route('team') == '5') {
return $next($request);
} else {
abort('404');
}
} else{
return $next($request);
}
}
您的路线应该是:
Route::get('/fixture/{team}', 'FrontController@fixtures')->middleware('name of
middleware');
不要忘记在受保护的 $routeMiddleware 下的 Karnel.php 中注册中间件。
希望这会有用。
答案 1 :(得分:-1)
我平时做什么
在app/Providers/RouteServiceProvider.php
public function boot()
{
parent::boot();
Route::bind('institutionDocument', function ($id) {
$this->CheckForSignedUser();
$document = \App\Models\Document::find($di);
return $document ?? abort(404);
});
}
在我的路线上
Route::get(
"documents/{institutionDocument}/preview",
"DocumentsController@preview"
);