[SP-pm] Validar session no Catalyst

Lucas Moraes mineiro at live.be
Mon Jul 11 04:46:43 PDT 2011


Valeu Eden, Renato foi isso mesmo, eu estava tentando usar capturas, mas sem parenteses só me retornava o numero 1.Eden quando eu for para são paulo eu te pago um kaiser :)Falou.

From: renato.cron em gmail.com
Date: Mon, 11 Jul 2011 00:21:42 -0300
To: saopaulo-pm em mail.pm.org
Subject: Re: [SP-pm] Validar session no Catalyst

Lembrando Lucas, que foi adiciona as capturas usando parenteses.
[e que acabou ficando da mesma cor como se não fosse alterado] 


2011/7/11 Eden Cardim <edencardim em gmail.com>



>>>>> "Lucas" == Lucas Moraes <mineiro em live.be> writes:



    Lucas> para validar:

    Lucas> sub end :Private {

    Lucas>     my ( $self, $c ) = @_;

    Lucas>     if(!$c->user_exists){

    Lucas>         $c->res->redirect('/login');

    Lucas>     }

    Lucas> }



Depende do que você quer fazer. Geralmente você quer verificar se o

usuários está logado *antes* de rodar o código pra poder barrar. Vale

lembrar também, que o redirect só seta os cabeçalhos adequados sem mudar

o fluxo de execução do código. Se você quer impedir a execução de

qualquer código sem que o usuário esteja autenticado, faça assim:



--8<---------------cut here---------------start------------->8---

    sub begin :Private {

      my ( $self, $c ) = @_;

         if(!$c->user_exists){

             $c->res->redirect('/login');

             $c->detach;

         }

    }

--8<---------------cut here---------------end--------------->8---



    Lucas> para pegar valores do Args:

    Lucas> sub alterar :LocalRegex('[0-9]') {

    Lucas>     my ( $self, $c, @get) = @_;



    Lucas>     $c->stash->{valor} =  $get[0];

    Lucas>     $c->forward('View::TT');

    Lucas> }



Primeiro, você precisa de capturas na regex, segundo, capturas não vem

como argumentos, você precisa acessar através do método

$c->req->captures, fica mais ou menos assim:



--8<---------------cut here---------------start------------->8---

sub alterar :LocalRegex('([0-9])') {

    my($self, $c) = @_;

    $c->stash->{valor} = $c->req->captures->[0];

    $c->forward('View::TT');

}

--8<---------------cut here---------------end--------------->8---



--

   Eden Cardim       Need help with your Catalyst or DBIx::Class project?

  Code Monkey                    http://www.shadowcat.co.uk/catalyst/

 Shadowcat Systems Ltd.  Want a managed development or deployment platform?

http://blog.edencardim.com/            http://www.shadowcat.co.uk/servers/

http://twitter.com/#!/edenc

=begin disclaimer

   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/

 SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org

 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>

=end disclaimer



-- 
Renato Santos
http://www.renatocron.com/blog/



=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
 L
=end disclaimer 		 	   		  
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20110711/fbede0dc/attachment-0001.html>


More information about the SaoPaulo-pm mailing list