/** * Ação responsável pelo login/autenticação de usuários. * * @return View /vistior/login. */ public function visitor_login() { if ($this->request->is('post')) { $this->allowParams(array('User' => array('email', 'password'))); if ($this->Auth->login()) { $this->redirect('/' . SupportComponent::userHierarchy()); } $this->Session->setFlash('Combinação de e-mail e senha é inválida.', 'flash/mini/error'); } }
/** * Sobreescrita do construtor, para incrementar algumas chamadas iniciais * @param \Controller $controller */ public function __construct(\Controller $controller = null) { parent::__construct($controller); $this->controller = $controller; // Definindo a hierarquia do usuário atual. $this->hierarchy = SupportComponent::userHierarchy(); $this->requestCode = $controller->requestCode; $this->setActionShort(); // Definindo uma variavel com os dados do usuário conectado $this->set('user', SupportComponent::toObject($controller->Auth->user())); }
/** * Configurações necessarias para o componente * de autenticação de usuário, AuthComponent */ private function authComponentConfig() { // Índice onde será salvo as informações de sessão do usuário. Este deve // ser único, para que não ocorra colisão de sessões de outras aplicações // que utilizam está mesma base. // Pode-se basear pelo nome da aplicação e o IP do cliente. AuthComponent::$sessionKey = PROJECT_NAME . str_replace('.', '', $this->RequestHandler->getClientIp()); $this->Auth->authenticate = array(AuthComponent::ALL => array('userModel' => 'User', 'fields' => array('username' => 'email'), 'scope' => array('User.enable' => TRUE)), 'Form'); $this->Auth->authorize = 'Controller'; $this->Auth->loginAction = array('controller' => 'Users', 'action' => 'login', 'prefix' => 'visitor'); $this->Auth->logoutRedirect = array('controller' => 'Users', 'action' => 'login', 'prefix' => 'visitor'); $this->Auth->flash['element'] = 'flash/mini/error'; // Caso o prefixo de uma ação requisitada pela URL seja // igual a hierarqui do usuaŕio, devemos permitir sua execução. if ($this->request->prefix == SupportComponent::userHierarchy()) { $this->Auth->allow($this->request->action); } }