[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