Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. package MyApp;
  2. use Mojo::Base 'Mojolicious';
  3.  
  4. use MyUsers;
  5.  
  6. sub startup {
  7. my $self = shift;
  8.  
  9. # ...auth stuff omitted...
  10.  
  11. my $r = $self->routes;
  12. $r->any('/' => sub {
  13. my $self = shift;
  14.  
  15. my $user = $self->param('user') || '';
  16. my $pass = $self->param('pass') || '';
  17. return $self->render unless $self->users->check($user, $pass);
  18.  
  19. $self->session(user => $user);
  20. $self->flash(message => 'Thanks for logging in.');
  21. $self->redirect_to('protected');
  22. } => 'index');
  23.  
  24. $r->get('/protected' => sub {
  25. my $self = shift;
  26. return $self->redirect_to('index') unless $self->session('user');
  27. });
  28.  
  29. $r->get('/logout' => sub {
  30. my $self = shift;
  31. $self->session(expires => 1);
  32. $self->redirect_to('index');
  33. });
  34. }
  35.  
  36. 1;
  37.  
  38. package MyApp::Login;
  39. use Mojo::Base 'Mojolicious::Controller';
  40.  
  41. sub index {
  42. my $self = shift;
  43.  
  44. my $user = $self->param('user') || '';
  45. my $pass = $self->param('pass') || '';
  46. return $self->render unless $self->users->check($user, $pass);
  47.  
  48. $self->session(user => $user);
  49. $self->flash(message => 'Thanks for logging in.');
  50. $self->redirect_to('protected');
  51. }
  52.  
  53. sub protected {
  54. my $self = shift;
  55. return $self->redirect_to('index') unless $self->session('user');
  56. }
  57.  
  58. sub logout {
  59. my $self = shift;
  60. $self->session(expires => 1);
  61. $self->redirect_to('index');
  62. }
  63.  
  64. 1;
  65.  
  66. package MyApp;
  67. use Mojo::Base 'Mojolicious';
  68.  
  69. use MyUsers;
  70.  
  71. sub startup {
  72. my $self = shift;
  73.  
  74. # ...auth stuff omitted...
  75.  
  76. my $r = $self->routes;
  77. $r->any('/')->to('login#index')->name('index');
  78. $r->get('/protected')->to('login#protected')->name('protected');
  79. $r->get('/logout')->to('login#logout')->name('logout');
  80. }
  81.  
  82. 1;
  83.  
  84. $r->get('/protected' => sub {
  85. my $self = shift;
  86. return $self->redirect_to('index') unless $self->session('user');
  87. });
  88.  
  89. sub protected {
  90. my $self = shift;
  91. return $self->redirect_to('index') unless $self->session('user');
  92. }
  93.  
  94. $r->get('/protected')->to('login#protected')->name('protected');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement