/** * Handle the form. * * @param LoginFormBuilder $builder * @param UserAuthenticator $authenticator * @param Redirector $redirect */ public function handle(LoginFormBuilder $builder, UserAuthenticator $authenticator, Redirector $redirect) { if (!($user = $builder->getUser())) { return; } $authenticator->login($user, $builder->getFormValue('remember_me')); $builder->setFormResponse($redirect->intended($builder->getFormOption('redirect', '/'))); }
/** * Handle the validation. * * @param UserRepositoryInterface $users * @param LoginFormBuilder $builder * @return bool */ public function handle(UserRepositoryInterface $users, LoginFormBuilder $builder) { $values = $builder->getFormValues(); if (!($user = $users->findByCredentials($values->all()))) { return false; } $builder->setUser($user); return true; }
/** * Handle the fields. * * @param LoginFormBuilder $builder * @param Repository $config */ public function handle(LoginFormBuilder $builder, Repository $config) { $method = $config->get('anomaly.module.users::config.login'); if ($method == 'username') { $login = ['username' => ['label' => 'anomaly.module.users::field.username.name', 'type' => 'anomaly.field_type.text', 'required' => true]]; } else { $login = ['email' => ['label' => 'anomaly.module.users::field.email.name', 'type' => 'anomaly.field_type.email', 'required' => true]]; } $builder->setFields(array_merge($login, ['password' => ['label' => 'anomaly.module.users::field.password.name', 'type' => 'anomaly.field_type.text', 'required' => true, 'config' => ['type' => 'password'], 'rules' => ['valid_credentials'], 'validators' => ['valid_credentials' => ['handler' => 'Anomaly\\UsersModule\\User\\Validation\\ValidateCredentials@handle', 'message' => 'anomaly.module.users::message.invalid_login']]], 'remember_me' => ['label' => false, 'type' => 'anomaly.field_type.boolean', 'config' => ['mode' => 'checkbox', 'label' => 'anomaly.module.users::field.remember_me.name']]])); }
/** * Return the admin login form. * * @param LoginFormBuilder $form * @param Redirector $redirect * @param Repository $config * @param Guard $auth * @return \Illuminate\Http\RedirectResponse|\Symfony\Component\HttpFoundation\Response */ public function login(LoginFormBuilder $form, Redirector $redirect, Repository $config, Guard $auth) { /** * If we're already logged in * proceed to the dashboard. * * Replace this later with a * configurable landing page. */ if ($auth->check()) { return $redirect->to($config->get('anomaly.module.users::paths.home', 'admin/dashboard')); } return $form->setOption('redirect', $config->get('anomaly.module.users::paths.home', 'admin/dashboard'))->setOption('wrapper_view', 'theme::login')->render(); }
/** * Return the admin login form. * * @param LoginFormBuilder $form * @param Redirector $redirect * @param Repository $config * @param Guard $auth * @return \Illuminate\Http\RedirectResponse|\Symfony\Component\HttpFoundation\Response */ public function login(NavigationCollection $navigation, LoginFormBuilder $form, Redirector $redirect, Repository $config, Guard $auth) { /** * If we're already logged in * proceed to the dashboard. * * Replace this later with a * configurable landing page. */ if ($auth->check() && ($home = $navigation->home())) { return $redirect->to($config->get($home->getHref())); } return $form->setOption('redirect', 'admin')->setOption('wrapper_view', 'theme::login')->render(); }
/** * Handle the form. * * @param LoginFormBuilder $builder * @param UserAuthenticator $authenticator * @param UserSecurity $security * @param Redirector $redirect */ public function handle(LoginFormBuilder $builder, UserAuthenticator $authenticator, UserSecurity $security, Redirector $redirect) { if (!($user = $builder->getUser())) { return; } $response = $security->check($user); if ($response instanceof Response) { $authenticator->logout($user); $builder->setFormResponse($response); return; } $authenticator->login($user, $builder->getFormValue('remember_me')); $builder->setFormResponse($redirect->intended($builder->getFormOption('redirect', '/'))); }