only([$this->username(), 'password']); $remember = (bool) $request->input('remember', false); /** @var \Illuminate\Validation\Validator $validator */ $validator = Validator::make($credentials, [ $this->username() => 'required', 'password' => 'required', ]); if ($validator->fails()) { return $this->validationErrorsResponse($validator); } if ($this->guard()->attempt($credentials, $remember)) { //登录成功后从dist_admin_distributor表中取出当前登录用户的公司信息 $distributor = DistAdminDistributor::where('id', Admin::user()->dist_id)->first(); if (!$distributor) { $this->guard()->logout(); return $this->validationErrorsResponse([ $this->username() => $this->getFailedLoginMessage(), ]); } //将当前登录用户的公司信息存入session Session::put('distributor', $distributor->toArray()); // 登录成功后返回登录响应 return $this->sendLoginResponse($request); } return $this->validationErrorsResponse([ $this->username() => $this->getFailedLoginMessage(), ]); } public function getSetting(Content $content) { $form = $this->settingForm(); $form->tools( function (Form\Tools $tools) { $tools->disableList(); } ); return $content ->view('distributor.layouts.content') ->title(trans('admin.user_setting')) ->body($form->edit(Admin::user()->getKey())); } /** * Model-form for user setting. * * @return Form */ protected function settingForm() { return new Form(new Administrator(), function (Form $form) { $form->action(admin_url('auth/setting')); $form->disableCreatingCheck(); $form->disableEditingCheck(); $form->disableViewCheck(); $form->tools(function (Form\Tools $tools) { $tools->disableView(); $tools->disableDelete(); }); $form->display('username', trans('admin.username')); $form->text('name', trans('admin.name'))->required(); //$form->image('avatar', trans('admin.avatar'))->autoUpload(); $form->password('old_password', trans('admin.old_password')); $form->password('password', trans('admin.password')) ->minLength(5) ->maxLength(20) ->customFormat(function ($v) { if ($v == $this->password) { return; } return $v; }); $form->password('password_confirmation', trans('admin.password_confirmation'))->same('password'); $form->ignore(['password_confirmation', 'old_password']); // 添加语言选择的下拉框 $form->select('language', trans('admin.language')) ->options(config('dictionary.languages')) ->default('en') ->required();; // 设置默认语言 $form->saving(function (Form $form) { if ($form->password && $form->model()->password != $form->password) { $form->password = bcrypt($form->password); } if (! $form->password) { $form->deleteInput('password'); } }); $form->saved(function (Form $form) { return $form ->response() ->success(trans('admin.update_succeeded')); //->redirect('/'); // ->script('location.reload();');//保存成功后刷新页面 }); // // 在从数据库中取出记录时,如果 language 为空,则默认给它一个值 // $form->model()->language = $form->model()->language ?: 'en'; }); } protected function sendLoginResponse(Request $request) { $request->session()->regenerate(); $path = $this->getRedirectPath(); return $this->response() ->success(trans('admin.login_successful')) ->locationToIntended($path) ->locationIf(Admin::app()->getEnabledApps(), $path) ->send(); } }