Utilizando a tabela de users do joomla para outro sistema

Forum destinado aos programadores que pretendem utilizar o framework do Joomla! 1.5 para fazer suas próprias extensões
djhonyy
Novato
Mensagens: 14
Registrado em: 24 Jul 2008, 09:52

Utilizando a tabela de users do joomla para outro sistema

Mensagem por djhonyy »

Hola,

Pessoal tenho um sistema de gestão de arquivos da minhaturma e gostaria de utilizar a tabela de usuarios do joomla, para isso eu devo na hora de checar os dados utilizar o mesmo sistema de criptografia que a API do joomla usa, mas ainda não consegui faze-lo. Alguém aí já passou por isso? é possível me dar uma mão?

Só preciso da linha de código que criptografa a senha, o resto eu me viro pra fazer.
--
--
Atenciosamente,

Johnathan Cardoso
Desenvolvedor Web

E-mail: johnathancardoso@tgti.com.br
Site: www.tgti.com.br
Avatar do usuário
bigodines
Site Admin
Mensagens: 384
Registrado em: 11 Jul 2008, 20:25

Re: Utilizando a tabela de users do joomla para outro sistema

Mensagem por bigodines »

md5(password + salt) + ':' + salt;

\administrator\components\com_users\admin.users.php :

Código: Selecionar todos

// MD5 hash convert passwords
   if ($isNew) {
      // new user stuff
      if ($row->password == '') {
         $pwd          = mosMakePassword();

         $salt = mosMakePassword(16);
         $crypt = md5($pwd.$salt);
         $row->password = $crypt.':'.$salt;
      } else {
         $pwd          = trim( $row->password );

         $salt = mosMakePassword(16);
         $crypt = md5($pwd.$salt);
         $row->password = $crypt.':'.$salt;
      }
      $row->registerDate    = date( 'Y-m-d H:i:s' );
   } else {
      $original = new mosUser( $database );
      $original->load( (int)$row->id );

      // existing user stuff
      if ($row->password == '') {
         // password set to null if empty
         $row->password = null;
      } else {
         $row->password = trim($row->password);
         $salt = mosMakePassword(16);
         $crypt = md5($row->password.$salt);
         $row->password = $crypt.':'.$salt;
      }
djhonyy
Novato
Mensagens: 14
Registrado em: 24 Jul 2008, 09:52

Re: Utilizando a tabela de users do joomla para outro sistema

Mensagem por djhonyy »

opa blz?

teu codogo não ajudou muito mas me deu uma luz pra eu seguir caminho e ir atras, encontrei ate uma linha de onde vc tirou a resposta, la eu me virei pra fazer o resto

/* sistema de comparacao pra usar o joomla*/

Código: Selecionar todos

               $password = "teste";
               $parts = explode( ':', "senha da tabela jos_users" );
               if (count($parts) < 2) $converted_pass = md5($password); // Check if password is md5-ed with or without salt
               else {
                    $salt = $parts[1];
                    $converted_pass = md5($password . $salt) . ":" . $salt; // convert the raw password to md5salt model
               }
               $senha = $converted_pass;
               $sql = "SELECT * FROM jos_users WHERE username = '$login' AND password = '$senha' and block = 0";
              
              /* fim do sistema de comparacao */
Com isso meu sistema usa a tabela de usuarios do joomla para logar, agora basta eu modelar ela e tudo ficara 100% obrigado mais uma vez bigodines

bjsmeliga haha
--
--
Atenciosamente,

Johnathan Cardoso
Desenvolvedor Web

E-mail: johnathancardoso@tgti.com.br
Site: www.tgti.com.br
Responder