Shoudn't that be MyUsers->new ? You've got MyUsers=>new
Replace => with -> and you'll hopefully have a MyUsers object.

On 08/03/2014 03:15 AM, Ray Sleeper wrote:
Here is the full code:

#!/usr/bin/env perl

use Mojolicious::Lite;
use lib 'lib';
use MyUsers;

app
->secrets(['Mojolicious rocks']);

# Helper to lazy initialize and store our model object

helper users
=> sub { state $users = MyUsers=>new };

any
'/' => sub {
   
my $c = shift;
# Querry parameters
   
my $user = $c->param('user') || '';
   
my $pass = $c->param('pass')  || '';

# check password
   
return $c->render unless $c->users->check($user, $pass);
   
# Store username in session
    $c
->session(user => $user);
    $c
->flash(message => 'Thanks for logging in.');
#    redirect to protected page with 302 respons
    $c
->redirect_to('protected');
} => 'index';

group {
    under
sub {
       
my $c = shift;
       
# redirect to main with 302 response if not logged in
       
return 1 if $c->session('user');
        $c
->redirect_to('index');
       
return undef;
   
};
   
   
#protected page
   
get '/protected';
};

#Logout
get '/logout' => sub {
   
my $c = shift;
    $c
->session(expires => 1);
   
   
#redirect to main with 302
    $c
->redirect_to('index');
};

app
->start;

__DATA__

@@ index.html.ep
% layout 'default';
%= form_for index => begin
   
% if (param 'user' ) {
       
<b>Wrong name or password, plea try againm.</b><b>
   
% }
   
   
Name:<br>
   
   
%= text_field 'user'
   
<br>Password:<br>
   
   
%= submit_button 'Login'
% end

@@ protected.html.ep
% layout 'default';
% if (my $msg = flash 'message' ) {
 
<b><%= $msg %></b><br>
 
% }
 
 
Welcome <%= session 'user' %>.<br>
 
 
%= link_to Logout => 'logout'
 
 
@@ layouts/default.html.ep
 
 
<!DOCTYPE html>
 
 
<html>
   
<head><title>Login Manager</title></head>
   
   
<body><%= content %></body>
 
</html>

       

       
       
       






On Saturday, August 2, 2014 5:09:22 PM UTC-7, sri wrote:
Thanks for the insight, that was really helpful.

Please be nice, passive-aggressive beheavior is not welcome here.

--
sebastian 
--
You received this message because you are subscribed to the Google Groups "Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

--
You received this message because you are subscribed to the Google Groups "Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to