A condição a mais está verificando o tipo de requisição que está sendo
feita a action login... E não tem relação alguma com posts de um blog.

Quando você abre a página de login, é enviada uma requisição GET para o
servidor. E quando o formulário é enviado, o browser envia uma requisição
POST para a mesma action.

Do jeito que seu código está, toda vez que a action login for acessada o
$this->Auth->login() é testado, porém só é necessário se for um POST, por
isso adicionei essa condição.

https://en.wikipedia.org/wiki/HTTP#Request_methods



Em 21 de abril de 2013 20:20, Anderson Moraes <anderson....@gmail.com>escreveu:

> Vitor Pacheco, obrigado pela resposta.
>
> Então, sua função tem uma condição a mais ( if
> ($this->request->is('post')) {), o que essa linha faz??? Pois no meu caso
> não se trata de um blog, e eu não tenho um "post".
>
>
> Em sexta-feira, 19 de abril de 2013 17h25min19s UTC-3, Anderson Moraes
> escreveu:
>
>> Boa tarde pessoal.
>>
>> Eu estou começando agora no CakePHP e estou fazendo uma área restrita, o
>> que tá acontecendo é o seguinte, quando eu entro em uma página onde é
>> necessário estar logado, eu sou direcionado para tela de login e é exibido
>> a seguinte mensagem "Área Restrita", mas o problema é que junto está
>> aparecendo a mensagem "Usuário ou senha inválidos", sendo que essa mensagem
>> deveria aparecer somente após a autenticação.
>> Se eu entrar direto na tela de login ele me exibe somente a mensagem
>> "Usuário ou senha inválidos", neste caso não deveria aparecer senha nenhuma.
>>
>> Alguém aqui já passou por isso e pode me ajudar???
>>
>> Seguem meu códigos:
>>
>>
>> *AppController.php*
>>
>> <?php
>>
>> App::uses('Controller', 'Controller');
>>
>> class AppController extends Controller {
>>
>>     public $components = array(
>>         //KitDebug
>>         'DebugKit.Toolbar',
>>         'Auth',
>>         'Email',
>>         'Session',
>>     );
>>
>>    public $helpers = array('Html', 'Form', 'Session');
>>
>>    public function beforeFilter()
>>    {
>>        $this->Auth->allow('display');
>>        $this->Auth->authError = 'Área restrita, efetue o login de
>> acesso.';
>>        $this->Auth->loginError = 'Usuário ou senha inválidos.';
>>    }
>>
>> }
>>
>>
>>
>> *User.php*
>>
>> <?php
>>
>> App::uses('AuthComponent', 'Controller/Component');
>>
>> class User extends AppModel {
>>
>>     public $name = 'User';
>>
>>     public function beforeSave($options = array()) {
>>         if (!empty($this->data['User']['**password'])) {
>>             $this->data['User']['password'**] =
>> AuthComponent::password($this-**>data['User']['password']);
>>         }
>>         return true;
>>     }
>> }
>>
>> ?>
>>
>>
>> *UsersController.php*
>>
>> <?php
>>
>> class UsersController extends AppController {
>>
>>     public $name = 'Users';
>>
>>     public function beforeFilter() {
>>         parent::beforeFilter();
>>     }
>>
>>     public function login(){
>>         if($this->Auth->login()){
>>             $this->redirect($this->Auth->**redirect());
>>         }else{
>>             $this->Session->setFlash(__('**Usuário ou senha
>> inválidos.'));
>>         }
>>     }
>>
>>     public function logout(){
>>         $this->redirect($this->Auth->**logout());
>>     }
>>
>>     public function index(){
>>
>>     }
>>
>>     public function getUsers(){
>>         $users = $this->User->find('list', array('fields' =>
>> array('id')));
>>         $this->set(compact('$users'));
>>     }
>> }
>>
>> ?>
>>
>>
>>
>> *login.ctp*
>>
>> <h2><?php echo __('Login'); ?></h2>
>> <?php echo $this->Session->flash('auth'); ?>
>>     <?php echo $this->Form->create('User');?>
>>         <fieldset>
>>         <?php
>>             echo $this->Form->input('username')**;
>>             echo $this->Form->input('password')**;
>>         ?>
>>         </fieldset>
>>     <?php echo $this->Form->end('Entrar');?>
>>
>> *
>> Desde já muito obrigado!!!*
>>
>  --
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>
> ---
> You received this message because you are subscribed to the Google Groups
> "CakePHP" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cake-php+unsubscr...@googlegroups.com.
> To post to this group, send email to cake-php@googlegroups.com.
> Visit this group at http://groups.google.com/group/cake-php?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
*Vitor Pacheco*
*Skype: vitor.pacheco.costa
Msn: vitor-...@hotmail.com*
*GTalk: vitorpc...@gmail.com**
**Cel.: 71 8626-7909
Tel.: 71 3378-5778 /** 71 3287-3475*

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to