У меня есть маршруты (пример):
Route::get('/test', 'TestController@index');
Route::post('/test', 'TestController@post');
.......
Route::get('/testn', 'TestController@indexn');
Route::post('/testn', 'TestController@postn');
Требуется добавить к этим маршрутам определённых посредников (middleware) если пользователь аунтифицирован (а если нет, то как есть).
Понимаю что это легко организовать через сами контроллеры, но если маршрутов очень много (и требуется добавить одинаковых посредников), то я считаю что это не практично писать условия с посредниками в контроллерах.
Как сейчас работает:
if (auth()->check()){
Route::group(['middleware' => ['verified', 'ip']], function() {
Route::get('/test', 'TestController@index');
Route::post('/test', 'TestController@post');
.......
Route::get('/testn', 'TestController@indexn');
Route::post('/testn', 'TestController@postn');
});
} else {
Route::get('/test', 'TestController@index');
Route::post('/test', 'TestController@post');
.......
Route::get('/testn', 'TestController@indexn');
Route::post('/testn', 'TestController@postn');
}
Задача отсеять мультиаккаунтсво. Если пользователь не авторизован, сёрфи спокойно (половина материала скрыта пока не авторизуешься), но если авторизован с ip с которого заходил кто-то ещё или проделывал определённые действия, показываю страничку с баном и тд
Требуется ваша помощь, знатоки!
Открываем документацию и читаем
Route::middleware(['first', 'second'])->group(function () {
Route::get('/', function () {
// Uses first & second Middleware
});
Route::get('user/profile', function () {
// Uses first & second Middleware
});
});
Вы можете делать вложенные одна в другую группы. Но я считаю, что у вас неправильная логика приложения, которая сама по себе допускает дублирование кода. Так или иначе, а проверок вам не избежать. Ну или вот так
Route::middleware(['auth', 'ip', 'verified'])->group(function () {...
Или объединить всё в одним посредник. Но опять вообще не ясно, зачем одни и те же роуты проверять.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть сайт, на котором надо сделать форму авторизацииОна должна проверять наличие данного пользователя в MySQL по введенному им логину и паролю
Возникла проблема: внезапно сайт поставщика, с которого я собираю остатки начал отдавать пустой результатfile_get_contents возвращает пустоту