|
@@ -2,18 +2,63 @@
|
|
|
|
|
|
namespace App\Distributor\Controllers;
|
|
|
|
|
|
+use App\Models\DistAdminDistributor;
|
|
|
+
|
|
|
use Dcat\Admin\Http\Controllers\AuthController as BaseAuthController;
|
|
|
use Dcat\Admin\Admin;
|
|
|
use Dcat\Admin\Form;
|
|
|
use Dcat\Admin\Http\Repositories\Administrator;
|
|
|
use Dcat\Admin\Layout\Content;
|
|
|
use Illuminate\Http\Request;
|
|
|
-
|
|
|
-
|
|
|
+use Illuminate\Support\Facades\Validator;
|
|
|
+use Illuminate\Support\Facades\Session;
|
|
|
class AuthController extends BaseAuthController
|
|
|
{
|
|
|
protected $view = 'distributor.pages.login';
|
|
|
|
|
|
+ /**
|
|
|
+ * Login interface.重写登录接口
|
|
|
+ * @param Request $request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public function postLogin(Request $request)
|
|
|
+ {
|
|
|
+
|
|
|
+ $credentials = $request->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);
|
|
|
+ // 登录成功后返回登录响应
|
|
|
+ return $this->sendLoginResponse($request);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this->validationErrorsResponse([
|
|
|
+ $this->username() => $this->getFailedLoginMessage(),
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public function getSetting(Content $content)
|
|
|
{
|
|
|
$form = $this->settingForm();
|
|
@@ -38,7 +83,7 @@ class AuthController extends BaseAuthController
|
|
|
protected function settingForm()
|
|
|
{
|
|
|
|
|
|
- return new Form(new Administrator(), function (Form $form) {
|
|
|
+ return new Form(new Admincistrator(), function (Form $form) {
|
|
|
$form->action(admin_url('auth/setting'));
|
|
|
$form->disableCreatingCheck();
|
|
|
$form->disableEditingCheck();
|