Skip to content

radig/pass_validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plugin PassValidator para CakePHP Build Status

Este plugin fornece rotinas para validação de senhas em sistemas que utilizam o AuthComponent como componente de autenticação.

O plugin valida a senha enviada via formulário de adição de usuários, considerando os seguintes critérios:

  • A senha pode ser deixada em branco?
  • Existe um segundo campo de senha (confirmação)?
    • Ambos os campos possuem valores iguais?
  • A senha respeita o tamanho mínimo imposto?
  • A senha respeita a quantidade mínima de caracteres alfabeticos?
  • A senha respeita a quantidade mínima de caracteres numéricos?
  • A senha respeita a quantidade mínima de caracteres especiais (não alfanumericos)?
  • Existe alguma pré-condição para que haja validação (por exemplo, um tipo de usuário)?
    • A pré-condição é válida?

Dependências

  • CakePHP > 2.x (o branch 1.0 suporta o CakePHP 1.3)

Considerações

  • O Plugin consiste de um Behavior, que é executado no callback beforeValidate. Isso quer dizer que toda vez que uma entrada for inserida, ele passará pelo Behavior para avaliação.
  • O Behavior possuí algumas mensagens padrão para os erros encontrados. Essas mensagens podem ser traduzidas utilizando a extensão L10n do CakePHP.
  • Os testes unitários cobrem 100% do código, utilize-os para entender melhor o funcionamento do behavior.

Exemplo de Uso

class User extends AppModel {
	public $actsAs = array(
		'PassValidator.PassValidator' => array(
			'fields' => array(
				'password' => 'password', // nome do campo senha
				'confirm' => 'password_confirm' // nome do campo de confirmação
			),
			'preConditions' => array('User.type' => 'admin'), // pré-condição para validações subsequêntes
			'haveConfirm' => true, // possui campo sem hash com confirmação da senha
			'minLength' => 4, // pelo menos 4 caracteres
			'minAlpha' => 2, // exige ao menos duas letras
			'minNumbers' => 1, // exige ao menos um número
			'minSpecialChars' => 0, // não exige caracter especial
			'allowEmpty' => true, // não permite senha em branco
			'unsetInFailure' => true // limpa o campo de senha no caso de falha na validação
		)
	);
}

Licença

O plugin PassValidator é Software Livre e gratuito, distribuido sob a licença MIT pela Radig Soluções em TI

Isso significa que você pode baixar o código dele e utiliza-lo da forma que bem entender, porém deve manter o crédito aos autores originais.

O PassValidator é distruído da forma que está, não contendo nenhum tipo garantia ou suporte implícito.

About

CakePHP Plugin Behavior to valid password input

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages