Различия между публичными пользователями и администраторами просто для просмотра и внесения изменений

Мне нужно сделать сайт, и на этом сайте общедоступные пользователи могут напрямую видеть панель инструментов / домашнюю страницу, страницу о странице, страницу контактов, но не могут добавлять, редактировать или удалять сообщения. Эти преимущества предоставляются только администратору. Они должны войти в систему, а затем они могут добавлять контент и изменять его. Я делаю этот проект в Laravel. заранее спасибо

0

Решение

Просто создайте домашнюю страницу с маршрутом вне auth-middleware
а для админки (только логин) просто поставить ->middleware('auth'); в конце вашего маршрута

Route::get('profile', function () {
// Only authenticated users may enter...
})->middleware('auth');

или вы можете просто поставить групповой маршрут

Route::get('/', 'IndexController@Index'); //url == http://www.example.com
Route::get('/contact', 'IndexController@Contact'); //url == http://www.example.com/contact
Route::auth(); //default laravel auth route like login, register, reset pass (make sure to disable register controller in app/Http/Controllers/Auth)
Route::group(['middlewareGroups' => ['web'], 'middleware' => ['auth']], function () {
//your route for authentication only
Route::get('/admin/edit/', 'AdminController@Edit'); //url == http://www.example.com/admin/edit/
Route::get('/admin/list/', 'AdminController@List'); //url == http://www.example.com/admin/list/
});
0

Другие решения

Вы можете рассмотреть вопрос о создании своих привилегий с помощью Laravel Authorization функциональность.

https://laravel.com/docs/5.4/authorization

С использованием Gates а также Policies Вы можете разрешить выполнение определенных действий, только если этому пользователю назначена правильная политика.

Как вы назначаете политику, от которой зависит пользователь, но я бы предложил is_admin логический на вашем User стол или создать какую-то user_roles Таблица.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector