Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lukoBR

[Resolvido] cakePHP/Auth - Evitar "auto login"

Recommended Posts

O Auth Component sempre efetua login automático no seguinte caso:

 

function login() {
	if(!empty($this->data)) {
		// Aqui ele checa se o usuário já efetuou o máximo de
		// tentativas de login possíveis, se retornar true, ele
		// não efetuou, caso contrário o usuário não poderá efetuar
		// login nos próximos minutos
		if($this->LoginAttempts->allow() == true) {
			if($this->Auth->login($this->data) == true) {
				$this->Auth->redirect();
			} else {
				$message = __($this->Session->read('Message.auth.message'), true);
			}
		} else {
			$message = __('Espere um pouco!', true);
		}
		// retorno a mensagem
	}
}

Mesmo o "$this->LoginAttempts->allow()" retornando "false". O Auth está realizando login automático baseado nos dados postados, e não considerando a checagem do "$this->LoginAttempts->allow()"?

 

No CookBook, eu li que:

 

"[...]

<?php
    $session->flash('auth');
    echo $form->create('User', array('action' => 'login'));
    echo $form->input('username');
    echo $form->input('password');
    echo $form->end('Login');
?>

Essa visão criar um simples formulário de login, onde você informa o usuário e senha. Mesmo você submetendo esse formulário, o AuthComponent cuida do resto para você. [...]"

http://book.cakephp.org/pt/view/1250/Authentication

 

Existe algum modo de resolver, ou alguma gambiarra? Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda, não é isso. Para resolver o problema, decidi criar meu próprio componente de autenticação, dai posso acrescentar nele funções como "remember me", e limte de acesso por conta e IP, e checagem de sessão de tempos em tempos, para atualizar os dados da mesma... e algumas outras idéias que estou desenvolvendo =P

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente não poderei compartilhar, pois o componente é de uso exclusivo de um projeto que eu estou desenvolvendo.

 

Mas, obrigado pelas respostas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.