|
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.
|