コード例 #1
0
 public function startLoginSession($user, $redirectTo = '')
 {
     // unsetting login attempts here, because when the password is recovered the login attempts should be reseted.
     $this->unsetTentativasLogin();
     @session_start();
     $_SESSION = array();
     $_SESSION['itj_controle'] = 'logado';
     $_SESSION['id_pessoa'] = $user['id'];
     $_SESSION['pessoa_setor'] = $user['ref_cod_setor_new'];
     $_SESSION['menu_opt'] = unserialize($user['opcao_menu']);
     $_SESSION['tipo_menu'] = $user['tipo_menu'];
     @session_write_close();
     Portabilis_Utils_User::logAccessFor($user['id'], $this->getClientIP());
     Portabilis_Utils_User::destroyStatusTokenFor($user['id'], 'redefinir_senha');
     $this->logado = true;
     $this->messenger->append("Usuário logado com sucesso.", "success");
     // solicita email para recuperação de senha, caso usuário ainda não tenha informado.
     if (!filter_var($user['email'], FILTER_VALIDATE_EMAIL)) {
         header("Location: /module/Usuario/AlterarEmail");
     } elseif ($user['expired_password']) {
         header("Location: /module/Usuario/AlterarSenha");
     } elseif (!empty($redirectTo)) {
         header("Location: {$redirectTo}");
     }
 }