Hi Folks
I’m having a problem with my login form.
The problem is that when I do the login, the global variable $_POST don’t arrives to the login method. It simply desapeared. When I do “if ($this->request->is(‘post’))” on login method , it don’t enter inside.
The strange thing it’s when a open a new anonymous tab inside chrome or firefox it works fine. On the normal tab, when I do ctrl + shift + del and delete the things, it works fine again.
I’m trying to solve this problem, because it will be hard to always say to user clean the things on his own browser.
my main src\AppController.php
public function initialize()
{
parent::initialize();
$this->loadComponent('Aviso');
$this->loadComponent('RequestHandler');
$this->loadComponent('Flash');
$this->loadComponent('Auth',[
'authorize' => ['Controller'],
'loginAction' => ['controller' => 'Usuarios','action' => 'login'],
'logoutRedirect' => ['controller' => 'Usuarios','action' => 'login'],
'authenticate' => [
'Form' => ['userModel' => 'Usuarios',
'fields' => ['username' => 'st_email',
'password' => 'st_senha']
]
],
'authError'=>"Você não pode acessar a página.",
'storage' => 'Session',
]);
}
My login method src\plugins\controle\UsuariosController.php
public function login()
{
$this->viewBuilder()->layout(‘login’);
//Se já estiver logado, redireciona
if (!is_null($this->Auth->user())) {
$this->redirect('/inicio');
}
if ($this->request->is('post')) {
$usuario = $this->Auth->identify();
$this->Auth->setUser($usuario);
if ($usuario && $usuario['ch_situacao'] === 'A') {
$this->loadModel('Controle.Menus');
$menus = $this->Menus->buscarPermissoes($this->Auth->user('id'));
$usuario['menu'] = $menus['menu'];
$usuario['permissao'] = $menus['permissao'];
$this->loadModel('Controle.Parametros');
$usuario['param'] = $this->Parametros->buscarTodos();
$this->Auth->setUser($usuario);
if ($usuario['nr_troca_senha'] == 1) {
return $this->redirect(['action' => 'trocarSenha']);
}
return $this->redirect('/inicio');
}
$this->Flash->error(__('E-mail ou senha inválidos ou usuário inativado, tente novamente'));
}
}
My login form src\plugins\controle\Template\Usuarios\login.ctp
<h1 class="navbar-fixed-top title-box title">DAER</h1>
<div class="box">
<h2 class="title title-box">LOGIN</h2>
<form method="post" action="<?= $this->Url->build(['plugin' => 'controle', 'controller' => 'usuarios','action' => 'login'])?>">
<p class="text text-center">Faça o login para iniciar sua sessão</p>
<div class="form-group has-feedback">
<input type="email" class="form-control input" placeholder="E-mail" name="st_email">
<span class="fa fa-envelope form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control input" placeholder="Senha" name="st_senha">
<span class="fa fa-lock form-control-feedback"></span>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block btn-flat button">ENTRAR</button>
</div>
<div class="form-group">
<a class="btn btn-success btn-block btn-flat button" href="cadastrar">CADASTRAR NOVO USUÁRIO</a>
</div>
<div class="row">
<div class="col-xs-12">
<a class="text esqueci_senha" href="senha">Esqueceu sua senha? Clique aqui</a>
</div>
</div>
</form>
</div>