/** * Reset the given user's password. * * @param Request $request * @return Response */ public function postChange(Request $request) { $validator = Validator::make($request->all(), ['token' => 'required', 'old_passwd' => 'required', 'password' => 'required|confirmed'], [], ['old_passwd' => '原密码', 'password' => '新密码']); if ($validator->fails()) { return Redirect::back()->withInput()->withErrors($validator); } $auth_array = array('email' => Auth::user()->email, 'password' => Input::get('old_passwd')); if (Auth::validate($auth_array)) { } else { return redirect()->back()->withErrors("请输入正确的密码!"); } $credentials = array('email' => Auth::user()->email, 'password' => Input::get('password'), 'password_confirmation' => Input::get('password_confirmation'), 'token' => Input::get('token')); $response = $this->passwords->reset($credentials, function ($user, $password) { $user->password = bcrypt($password); $user->save(); $this->auth->login($user); }); switch ($response) { case PasswordBroker::PASSWORD_RESET: $array = array('email' => Auth::user()->email); $token = $this->passwords->getToken($array); UserManageLog::insertLog("修改密码", Auth::user()->id, Auth::user()->name, Auth::user()->email, Auth::user()->name . '(' . Auth::user()->email . ')', null, null, $request->ip()); return view('auth.change_password')->withTips("密码修改成功!")->withToken($token); default: return redirect()->back()->withErrors(['email' => trans($response)]); } }