Guest User

Untitled

a guest
Jan 17th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. package DF::AAA;
  2. use Mason::Moose;
  3. extends qw(Plack::Middleware);
  4. use Poet qw($cache $env $conf);
  5.  
  6. my %public = (
  7. '/login' => 1,
  8. '/favicon.ico' => 1,
  9. );
  10.  
  11. method call ($psgi_env) {
  12. my $req = $env->app_class('Plack::Request')->new($psgi_env);
  13.  
  14. my $login = $req->param('login') || $req->session->{login};
  15. my $passwd= $req->param('passwd') || $req->session->{passwd};
  16.  
  17. my $authenticated = $login and $passwd;
  18.  
  19. if ($authenticated or $public{$req->path_info}) {
  20. return $self->app->($psgi_env);
  21. }
  22.  
  23. $req->session->{redir_to} = $req->request_uri;
  24.  
  25. my $res = $req->new_response();
  26. $res->redirect( '/login');
  27. $res->finalize;
  28. }
Add Comment
Please, Sign In to add comment