[SP-pm] Validar session no Catalyst

Renato Santos renato.cron at gmail.com
Sun Jul 10 20:21:42 PDT 2011


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 at gmail.com>

> >>>>> "Lucas" == Lucas Moraes <mineiro at 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 at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>



-- 
Renato Santos
http://www.renatocron.com/blog/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20110711/913328b4/attachment.html>


More information about the SaoPaulo-pm mailing list