Me podrían ayudar, por favor.
Tengo una página web en Mojolicious y le quiero poner autenticación.
Ya leí Mojolicious::Plugin::Authentication pero la verdad entiendo poco o casi nada. Entonces busqué un ejemplo en Google y encontré este muy básico pero no encuentro dónde ponerle el usuario que va a tener acceso
Using perl Syntax Highlighting
- #!/usr/bin/env perl
- use Mojolicious::Plugin::Authentication;
- use Mojolicious::Lite;
- plugin 'authentication', {
- autoload_user=>1,
- load_user => sub {
- my $self = shift;
- my $uid = shift;
- return $uid;
- },
- validate_user => sub {
- my $self = shift;
- my $un = shift || '';
- my $pw = shift || '';
- my $extra = shift || {};
- use Authen::Simple::DBI;
- return $un;
- return undef;
- },
- };
- get '/home' => sub {
- my $self = shift;
- };
- get '/welcome' => sub {
- my $self = shift;
- $self ->render('index');
- };
- post '/login' => sub {
- my $self = shift;
- if ($self->authenticate($self->req->param('id')
- ,$self->req->param('pw')
- ,{brain_slug=>$self->req->param('')})) {
- $self->render('home');
- }
- else {
- $self->render('index');
- }
- };
- app->start;
- __DATA__
- @@ layouts/default.html.ep
- <!DOCTYPE html>
- <html>
- <head>1<title><%= title %></title></head>
- <body><%= content %></body>
- </html>
- @@ index.html.ep
- % layout 'default';
- % title 'Welcome';
- Welcome to Authorization
- <form action="/login" method="post">
- <table>
- <tr> <td> User </td> <td> <input type="text" name="id" /> </td> </tr>
- <tr> <td> Password </td> <td> <input type="password" name="pw" /> <input type="hidden" name="slug" value="yes"></td> </tr>
- </table>
- <input type="submit" name="mysubmit" value="Click!" />
- </form>
- @@ home.html.ep
- % layout 'default';
- % title 'home';
- lets all go to the brain slug planet! home
- @@ layouts/default.html.ep
- <!DOCTYPE html>
- <html>
- <head><title><%= title %></title></head>
- <body><%= content %></body>
- </html>
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4
Sí se ejecuta pero al poner cualquier usuario y contraseña en login, entra a home.
Gracias de antemano por su ayuda.