我一直在设法解决这个问题,但没有成功。我有一个Agent Model,我想要有正常的特工和超级特工。普通代理可以注册捐助者,超级代理可以注册代理,也可以查看正常代理的恩人。我希望将两者分开,这样普通代理就无法访问超级代理的仪表板。因此,我创建了一个超级agent middleware,如下所示:
use Closure;
use Auth;
class Agent
{
public function handle($request, Closure $next)
{
return $next($request);
}
}我的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.');
}
}
}我不断地*也可以重定向*
有什么办法可以解决这个问题吗?
这是我的代理人表
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();
});
}发布于 2020-01-29 06:09:00
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);
}
}https://stackoverflow.com/questions/59955662
复制相似问题