首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >laravel 6:管理和超级管理重定向

laravel 6:管理和超级管理重定向
EN

Stack Overflow用户
提问于 2020-01-28 19:20:59
回答 1查看 157关注 0票数 0

我一直在设法解决这个问题,但没有成功。我有一个Agent Model,我想要有正常的特工和超级特工。普通代理可以注册捐助者,超级代理可以注册代理,也可以查看正常代理的恩人。我希望将两者分开,这样普通代理就无法访问超级代理的仪表板。因此,我创建了一个超级agent middleware,如下所示:

代码语言:javascript
复制
use Closure;
use Auth;

class Agent
{

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

  }
}

我的AgentLoginController如下:

代码语言:javascript
复制
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.');
          }

      }
  }

我不断地*也可以重定向*

有什么办法可以解决这个问题吗?

这是我的代理人表

代码语言:javascript
复制
        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();
        });
    }
EN

回答 1

Stack Overflow用户

发布于 2020-01-29 06:09:00

代码语言:javascript
复制
 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);
      }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59955662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档