Рекомендации по созданию интерфейса области администратора в Laravel 5
Я недавно начал изучать Laravel 5, и мне нужно создать отдельную область администратора на сайте.
Я много пытался получить структуру каталогов файлов, но большинство из них, которые я получил, предназначены для Laravel 4, а не для Laravel 5.
Поскольку Laravel 5 отличается по структуре от Laravel 4.
Может ли кто-нибудь, пожалуйста, помочь мне, как настроить структуру каталогов для области администратора и маршрутов.
Заранее благодарю вас.
2 answers
Недавно я создал проект в Laravel 5 с административной областью. Я использовал расширенный ACL (уровень контроля доступа), чтобы предоставить ролевые права администратора. Для этого я использовал Доверенный пакет. Затем я использовал базовую аутентификацию Laravel 5 и должен был выполнить поручение.
Я легко создал административную область со всеми разрешениями. Я также попытался установить автоматические разрешения в Authenticate.php
промежуточном программном обеспечении
Вы можете сослаться на этот Доверить автоматизировать вопрос о стеке, я спросил. Но позже я нашел решение. Я бы посоветовал вам следовать архитектуре, основанной на URL, а затем старому способу структуры папок для управления администратором. Laravel 5 лучше всего подходит для URL-адресов, которые также помогут вам создавать любые API, если вам понадобится в будущем для мобильных приложений.
Надеюсь, это поможет вам.
Обычно я создаю свой собственный серверный сервер с такими пакетами, как , и случайным шаблоном начальной загрузки, который соответствует моим потребностям.
Затем я просто помещаю свои представления в views/admin и мои контроллеры в Controller/admin и помещаю все маршруты администратора в группу с подключенным к ней промежуточным программным обеспечением
Route::group(['namespace'=>'Admin','prefix'=>'admin','middleware'=>'role','role'=>'admin'],function(){
Route::get('/','HomeController@index');
}
, А затем в промежуточном программном обеспечении (это использование ).).
public function handle($request, Closure $next)
{
$user = $this->auth->user();
$route = $request->route();
if($user && $route)
{
$actions = $route->getAction();
if(array_key_exists('role',$actions)) {
$role=$actions['role'];
if(!$user->hasRole($role)) {
Flash::error('Unauthorized Access');
abort(401);
}
}
else
{
Flash::error('Unauthorized Access');
abort(401);
}
}
else
{
Flash::error('Unauthorized Access');
abort(401);
}
return $next($request);
}
Не забудьте зарегистрировать промежуточное программное обеспечение в kernel.php рядом с файлом маршрутов.
Промежуточное программное обеспечение может выглядит сложно, но просто проверяет, добавили ли вы роль в свою группу, а затем, принадлежит ли текущий вошедший в систему пользователь к этой группе.
Также помните, что при маршрутизации с использованием action()
вам нужно поместить пространство имен администратора перед именем контроллера, например action('Admin\HomeController@index')