PerlModule Foo::FooAuth
PerlModule Foo::FooFilter
PerlOutputFilterHandler Foo::FooFilter
PerlAuthenHandler Foo::FooAuth
require valid-user
####
package Foo::FooAuth;
use strict;
use Apache2::Const qw(:common);
use Foo::AuthAux; # Provides whoami - uses a cookie set elsewhere
sub handler {
my $r = shift;
my $user = whoami($r);
unless ($user) {
$r->note_basic_auth_failure;
return AUTH_REQUIRED;
}
$r->user($user);
$r->subprocess_env(FOO => "bar+$user");
return OK;
}
1;
####
package Foo::FooFilter;
use strict;
use Apache2::Filter;
use Apache2::Const qw(:common);
use Apache2::Request;
use HTML::Template;
use Foo::Config; # Provides $TMPL_PATH below
use Foo::Auth;
use Foo::AuthAux; # Provides whoami below
my $BUFF_LEN = 8192;
sub handler {
my $f = shift;
my $r = $f->r;
my $fullbuf;
while ($f->read(my $buf, $BUFF_LEN)) {
$fullbuf .= $buf;
}
my $tmpl = HTML::Template->new(scalarref => \$fullbuf,
path => $TMPL_PATH,
die_on_bad_params => 0,
);
my $user = whoami($r);
my $userinfo = ISPNET::Auth::userinfo($user);
$tmpl->param(_user => $user,
_logo => $userinfo->{logo},
_logo_alt => $userinfo->{logo_alt},
# Set _home (would be $ENV{SCRIPT_NAME})...
);
$f->print($tmpl->output);
return OK;
}
1;