radig/pass-validator

Easy password validation for CakePHP

Installs: 39

Dependents: 0

Stars: 6

Watchers: 6

Forks: 3

Language: PHP

2.0.1 2013-09-10 21:19 UTC

README

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.