예제 #1
0
 /**
  * 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;
 }
예제 #3
0
 /**
  * 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']]]));
 }
예제 #4
0
 /**
  * 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();
 }
예제 #5
0
 /**
  * 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();
 }
예제 #6
0
 /**
  * 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', '/')));
 }