Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Всем привет, пытаюсь создать админку на сием творении - все чего то его хвалят, вот и я решил попробовать, встроенная авторизация есть, правда без ролей , это ладно, добавил поле в таблицу, но тут проблема
нужно как то редиректить незалогиненных пользователей на страницу входа, желательно из роутов, мой список роутов
Route::namespace('Admin')->group(function () {
Route::get('/admin', 'UserController@index');
Route::get('/admin/login', 'UserController@login');
Route::post('/admin/sign_in', 'UserController@sign_in');
Route::get('/admin/sign_out', 'UserController@sign_out');
});
Читал конечно же доку, ни из конструктора контроллера, ни из роутов не работает Auth::user() - чтобы проверить что пользователь админ и пустить или нет его в админку, проверять в каждом методе контроллера видится мне каким то бредом, уверен что не так быть должно, но уже не знаю где искать т.к. даже код из оф документации неработает ну или я неправильно его использую, но устал уже играть в бубен....
Может есть еще и вариант как избежать холста роутов, объявлять каждый маршрут (а это например все CRUD) лично мне кажется тоже глупостью..... или нет?
Не в сети
Не в сети
Спасибо за помощь и содержательный разьясняющий ответ....
Если я все правильно понял из того скудного слова - то чем городить такие костыли останусь как я на старом добром CI до момента пока не приведут этот в какое то адекватное изделие
Не в сети
нужно как то редиректить незалогиненных пользователей на страницу входа, желательно из роутов, мой список роутов
Почитайте документацию внимательно еще раз, главы авторизации, аутентификации и посредники(ссылку я вам давал выше), вам не нужно городить велосипед. Все уже сделано за вас, разберитесь каким образом происходит проверка пользователя и как добавить кастомные посредники. Примеров на эту тему за глаза. Все роуты закрываются за посредниками, без каких-либо велосипедов. И еще почитайте вот Для тем "как сделать" или "помогите".
Не в сети
Я уже разобрался, посредник сделал, немного неудобно конечно... возможно дело привычки
Остается вопрос с простынями роутов, еслиб подсказали было бы круто, меньше времени бы потратил, как полностью разберусь ответы напишу в теме чтобы другие потом могли посмотреть
Не в сети
Остается вопрос с простынями роутов
Для crud Resource Controllers. Первые абзацы описание, в таблице обьяснения как сопоставляются роуты с именами методов и типами запросов.
Изменено lodar (03.06.2019 09:36:58)
Не в сети
Вроде бы разобрался с роутами, не уверен на 100% - может что упустил , но со своей стороны вижу огромное неудобство. Смысл в том что я активно использую ajax админке, теже DataTables - очень неудобно делать запрос на получение данных - нужно прописывать маршрут т.к. мои функции отличаются от стандртных ресурсных, нет ли способа обойти? - сравню сразу же с тем же CI - там вызов контроллер/метод - может обходится без объявления маршрута что мега удобно в определенных ситуациях (знаю что есть пакет для laravel для работы с DataTables - не хочу его использовать, хочу использовать обычные методы)
Route::get('/user/login', 'Admin\UserController@login');
Route::post('/user/sign_in', 'Admin\UserController@sign_in');
Route::get('/user/sign_out', 'Admin\UserController@sign_out');
Route::group(['namespace' => 'Admin', 'middleware' => 'checkadmin'], function(){
Route::post('/admin/php_modules/get_table', 'PhpModulesController@get_table');
Route::resource('/admin/php_modules', 'PhpModulesController');
});
На теперешний момент вижу крайне негибкую вещь - объявлять маршрут для каждого запроса -
Route::post('/admin/php_modules/get_table', 'PhpModulesController@get_table');
В итоге получим простынь из роутов, что негибко, неудобно и абсурдно.
Более опытные - подскажите , это так и есть или я все же что то упустил?
Не в сети