2017-01-01 3 views
-1

Мне нужна помощь относительно промежуточного программного обеспечения laravel 5.3. Моя проблема заключается в следующем:laravel 5.3 админ промежуточное использование используя?

Я делаю приложение, которое имеет 2 области интерфейса, которые являются веб-и администратором.

<?php 
namespace App\Http\Middleware; 
use Closure; 
use Auth; 
class AdminMiddleware 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @return mixed 
    */ 
    public function handle($request, Closure $next, $guard = null) 
    { 
     if (Auth::guard($guard)->check()) { 
      return redirect('/'); 
     } 
     return redirect('admin/'); 
    } 
} 

и у меня есть 2 управления в App \ Http \ Контроллеры \ Admin папки

те LoginController и HomeController

, если я введу Localhost: 8000/администратор/Я иду к LoginController и напишите привет. это хорошо, но если я хожу localhost: 8000/admin/home, я вижу, что другая строка записывает «домашнюю страницу», но я хочу перенаправить к пользователю admin/login, если пользователь не аутентифицируется, но я не мог этого сделать.

Я добавил middlewareGroup в Kernel.php

'admin' => [ 
      \App\Http\Middleware\EncryptCookies::class, 
      \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 
      \Illuminate\Session\Middleware\StartSession::class, 
      \Illuminate\View\Middleware\ShareErrorsFromSession::class, 
      \App\Http\Middleware\VerifyCsrfToken::class, 
      \Illuminate\Routing\Middleware\SubstituteBindings::class, 
     ], 

и добавил routeMiddleware как этот

'admin' => \App\Http\Middleware\AdminMiddleware::class, 

Я хочу сказать ему, я не хочу ролевую систему

Я хочу сделать 2 модуля

  1. пользовательский модуль (он находится в web.php -> в папке маршрута)
  2. модуль администратора (это в admin.php -> в папке маршрута)

пользователя и администратора разные.

может ли пользователь быть администратором? НЕТ ... админ отличается от пользователя ... (другие люди)

ответ

0

вы должны добавить эти функции в файле \ App \ провайдеры RouteServiceProvider.php

public function map() 
{ 
    $this->mapApiRoutes(); 

    $this->mapWebRoutes(); 

    $this->mapAdminRoutes(); 
    // 
} 

... 

protected function mapAdminRoutes() 
{ 
    Route::group([ 
     'middleware' => 'admin', 
     'namespace' => $this->namespace, 
    ], function ($router) { 
     require base_path('routes/admin.php'); 
    }); 
} 
Смежные вопросы