middleware('admin.guest')->except('logout','admin.logout'); } /** * Get the guard to be used during authentication. * * @return \Illuminate\Contracts\Auth\StatefulGuard */ protected function guard() { return Auth::guard('admin'); } /** * Show the application's login form. * * @return \Illuminate\Http\Response */ public function showLoginForm() { return view('admin.auth.login'); } /** * Log the user out of the application. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function logout(Request $request) { $this->guard('admin')->logout(); $request->session()->invalidate(); return $this->loggedOut($request) ?: redirect('/admin/login'); } /** * Get the login username to be used by the controller. * * @return string */ public function username() { return 'name'; } public function login(Request $request) { // 验证IP $data = Admin::where('name',$request->name)->first(); if(empty($data)){ return $this->sendFailedLoginResponse($request); }else{ if(!empty($data->white_ip)){ $ip = getClientIP(); $canLogin = Admin::where('name',$request->name)->where('status',1)->whereRaw("FIND_IN_SET('$ip',white_ip)")->first(); if(empty($canLogin)){ return $this->sendFailedLoginResponse($request); } } $password = md5($request->password); if (Auth::guard('admin')->attempt(['name' => $request->name, 'password' => $password, 'status' => 1])) { AdminLoginLog::insert(['admin_name' => $request->name,'login_time' => nowDate(),'login_ip' => getClientIP()]); // 用户存在,已激活且未被禁用。 return redirect($this->redirectTo); } else { return $this->sendFailedLoginResponse($request); } } } }