Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Noite galera, beleza ?
Seguinte, estou tendo problemas com autenticação, tenho uma tabela de FUNCIONÁRIOS onde cada um tem se login e senha, beleza, só que até o momento eu estava testando com um funcionário cadastrado, tava funcionando que uma beleza, só que resolvi cadastrar mais pra ver como ficava, foi ai que começou o problema, quando tenho mais de um cadastro nessa tabela não entra no sistema, a autenticação não funciona para nenhum funcionário.
Alguém sabe o que pode ser ?
Vejam o código abaixo:
// Zend_Auth adapter para uma tabela no bd
$bd = Zend_Registry::get('db');
$authAdapter = new Zend_Auth_Adapter_DbTable($bd);
$authAdapter->setTableName('FUNCIONARIOS');
$authAdapter->setIdentityColumn('FUN_LOGIN');
$authAdapter->setCredentialColumn('FUN_PASS');
// seta os valores para autentica��o
$authAdapter->setIdentity($login);
$authAdapter->setCredential($senha);
// faz a autentica��o
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter);
if ($result->isValid()) {
// login correto
// memoriza o identity como um objeto Zend_Auth onde a coluna 'senha' foi omitida
$auth->getStorage()->write($authAdapter->getResultRowObject(null, 'FUN_PASS'));
$this->_redirect('logado');
} else {
// erro
//$this->_redirect('/');
echo $login . ' ' . $senha;
}
Aguardando.
Obrigado.
Abraços.
Desculpe a demora, mas já resolvi sim, estava duplicando o login então ele se perdia na hora de realizar a autenticação.
Obrigado.
Abraços.
Nao sei se ja resolveu isso, mas se puder mostre como esta a estrutura de sua tabela, e qual erro que ele mostra quando tenta fazer login
Só uma dúvida, estou cadastrando a senha de um Login com a letra maiscula, e quando vou acessar se eu digitar a senha em minusculo ele entra também. Isso é normal ?
Abraços.
Caro quarentena,
É normal sim.Geralmente,bancos de dados não diferem maiusculas de minusculas.
Para diferencia-las,basta fazer com que o php (e nao o banco de dados) faça a verificação.
Exemplo:
>
Case sensitive:
<?php
//.......
$con = @dbx_connect("mysql","localhost","db","root","");
$q = dbx_query($con, "SELECT pass FROM table WHERE pass='".$valordigitado."'");
if($q->data[0][0] == $valordigitado){
//Agora,seu code diferencia maisculas de minusculas
echo "Case sensitive!";
} else { echo "Pass diferente"; }
?>$con = @dbx_connect("mysql","localhost","db","root","");
$q = dbx_query($con, "SELECT pass FROM table WHERE pass='".$valordigitado."'");
if($q->rows == 1){
//Case insensitive
echo "Case insensitive!";
} else { echo "Pass diferente"; }
?>
Cuidado com essa questao dos bancos de dados não diferirem maiusculas de minusculas,pode ser explorado de alguma forma por algum usuario mal intencionado!
Forte abraço!
Que eu saiba, difere sim.. Tanto que uma senha segura sempre se usa letra maiusculas, minusculas e outros caracteres..
Só não sei como o zend trava isso na hora da autenticação..
Me corrijam se estiver falando besteira.. mas comigo o mysql e o sql server 2k sempre foram case sensitive.
Abraço.
Sem Mais []'..
Nao diferencia, o caso da senha é que ela é criptografada entao se a senha esta em minuscula gera um hasd diferente se ela tiver maiuscula
Fabyo, desculpe.. mas quando começei com php/mysql eu nao usava hash nas senhas e ele retornava senha diferente quando tinha algum caractere maiusculo ou minusculo diferente do que estava no banco banco>imasters != digitado->iMasters
Leandro,não diferencia não,provavelmente você fazia como citei no meu post!
Abraço!
Nao diferencia, mas pode ser configurado para ser, como no caso do sql server tbm nao diferencia, mas pode ser configurado
mas por padrao nao diferencia mesmo, posso logar como FABYO ou fabyo ou Fabyo tanto faz
Interessante.. acho que eu estava usando algum operador tipo indentico === no php.. dai pode ser que surta algum efeito diferente.. mas é bom saber..
mesmo assim continuarei usando hash md5 para minhas senhas ehauheuae, tem um tópico com umna discusão sobre isso aqui no forum..
Obrigado por me esclarecerem isso também..
espera que tenha ficado claro para o nosso amigo também..
Abraço.
Att,
Leandro Barral []'..
>
Interessante.. acho que eu estava usando algum operador tipo indentico === no php.. dai pode ser que surta algum efeito diferente.. mas é bom saber..
mesmo assim continuarei usando hash md5 para minhas senhas ehauheuae, tem um tópico com umna discusão sobre isso aqui no forum..
Obrigado por me esclarecerem isso também..
espera que tenha ficado claro para o nosso amigo também..
Abraço.
Att,
Leandro Barral []'..
Opá claro e limpo, pensei que eu estivesse viajando mas ocorre mesmo. Obrigado galera.
Nao sei se ja resolveu isso, mas se puder mostre como esta a estrutura de sua tabela, e qual erro que ele mostra quando tenta fazer login