/opt/myapps/-----+
| |
| Super.pm
| |
| /Acmecorp/---+
| |
| Login.pm
| |
| Members.pm
|
|
/var/www/acmecorp/--+
|
home.html
|
/manage/----+
|
login.cgi
|
members.cgi
####
package Super;
use warnings;
use strict;
use base 'CGI::Application';
use CGI::Application::Plugin::Redirect;
use CGI::Application::Plugin::Session;
(my $http_host = $ENV{'HTTP_HOST'}) =~ s/(www.)([a-zA-Z0-9\-\.]+)/$2/;
$self->session_config(
COOKIE_PARAMS => { -name => 'MY_SESSID',
-expires => '+8h',
-path => '/',
-domain => ".".$http_host,
},
SEND_COOKIE => 1,
);
##
##
package Login;
use base qw(Super);
****login codes goes here and if successful: *****
$self->session->param( 'member_id' => $member_id );
return $self->redirect('/manage/members.cgi');
# I could pass it with return $self->redirect('/manage/members.cgi?id='.$member_id), but clunkier
##
##
#!/usr/local/bin/perl -T
use lib "/opt/myapps/";
use Acmecorp::Members;
my $app = Acmecorp::Members->new();
$app->run();
##
##
package Members;
use base qw(Super);
my $member_id = $self->session->param( 'member_id' );
**** query the DB with the member's id *****