laravel 6: перенаправление администратора и супер администратора - PullRequest
0 голосов
/ 28 января 2020

Я пытался решить эту проблему, но безуспешно. У меня есть Agent Model, где я хочу иметь нормальных агентов и супер агентов. Обычные агенты могут регистрировать благотворителей, в то время как суперагенты могут регистрировать агентов, а также просматривать благотворителей нормального агента. Я хочу разделить их так, чтобы обычный агент не мог получить доступ к панели мониторинга супер-агента. Поэтому я создал Super agent middleware следующим образом:


use Closure;
use Auth;

class Agent
{

    public function handle($request, Closure $next)
    {
          return $next($request);

  }
}

my AgentLoginController следующим образом:

class AgentLoginController extends Controller
{


      use AuthenticatesUsers;


      protected $redirectTo = '/benefactorDashboard';




      public function login(Request $request)
      {
          $input = $request->all();

          $this->validate($request, [
              'phoneNumber' => 'required',
              'password' => 'required',
          ]);

          if(auth()->attempt(array('phoneNumber' => $input['phoneNumber'], 'password' => $input['password'])))
          {
              if (auth()->user()->is_admin == 1) {
                  return redirect()->route('agents.dashboard');
              }else{
                  return redirect()->route('benefactors.dashboard');
              }
          }else{
              return redirect()->route('agents.signin')
                  ->with('error','Phone Number or Password Are Wrong.');
          }

      }
  }

Я получаю * Too may redirects *: (

Есть ли способ, как я могу это исправить? :)

вот мои агенты Таблица

        Schema::create('agents', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('surname');
            $table->string('firstName');
            $table->string('secondName');
            $table->string('idNumber')->unique();
            $table->string('phoneNumber');
            $table->string('email')->nullable();
            $table->string('password');
            $table->boolean('systemAdmin')->nullable();
            $table->rememberToken();
            $table->timestamps();
        });
    }

1 Ответ

0 голосов
/ 29 января 2020
 public function handle($request, Closure $next, $guard = null)
    {
      if (Auth::guard($guard)->check() && Auth::user()->role->id==1)  {
          return redirect()->route('superadmin.dashboard');
      }
      elseif (Auth::guard($guard)->check() && Auth::user()->role->id==2) {
          return redirect()->route('admin.dashboard');
      }elseif (Auth::guard($guard)->check() && Auth::user()->role->id==3) {
          return redirect()->route('user.dashboard');
      }else {
          return $next($request);
      }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...