authService = $authService; $this->middleware(function ($request, Closure $next) { if ($request->route()->getName() != 'statistics.logout') { if (Auth::guard('admin')->check()) { return redirect(route('statistics.home')); } } return $next($request); }); } public function showLoginForm() { return view('statistics.app.auth.login'); } public function loginByAccount(AuthValidatorRequest $request) { if (!$member=$this->authService->loginByAccount($request->account, $request->password, $request->autoLogin)) { return $this->sendErrorResponse("账号或密码错误"); } $relative_subsites = $this->authService->getUserRelativeSubsites(Admin::user()); if (!Admin::user()->isRole('administrator')) { if (!Admin::user()->isRole('caiqing')) { Auth::guard('admin')->logout(); return $this->sendErrorResponse("不是才情管理员账号"); } //判断登录用户所属分站权限 if (!Admin::user()->canVisitSubsite(get_subsite_id())) { $relative_subsites = $this->authService->getUserRelativeSubsites(Admin::user()); if (!$relative_subsites) { Auth::guard('admin')->logout(); return $this->sendErrorResponse("分站管理员没有权限"); } } } session(['caiqing_admin_susbite_id' => Admin::user()->subsite_id]); session(['caiqing_susbite_id' => Admin::user()->subsite_id]); session(['caiqing_relative_susbite_ids' => $relative_subsites]); return $this->sendSuccessResponse(['redirect_url'=>url($request->session()->pull('url.intended', 'statistics.home'))]); } public function logout() { $this->authService->logout(); return redirect(route('statistics.login')); } }