You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@apache.org on 2001/04/13 03:26:56 UTC
cvs commit: modperl-2.0/t/hooks/TestHooks authz.pm
dougm 01/04/12 18:26:56
Added: t/hooks authz.t
t/hooks/TestHooks authz.pm
Log:
add PerlAuthzHandler test
Revision Changes Path
1.1 modperl-2.0/t/hooks/authz.t
Index: authz.t
===================================================================
use strict;
use warnings FATAL => 'all';
use Apache::Test;
use Apache::TestRequest;
plan tests => 4, \&have_lwp;
my $location = "/TestHooks::authz";
ok ! GET_OK $location;
my $rc = GET_RC $location;
ok $rc == 401;
ok GET_OK $location, username => 'dougm', password => 'foo';
ok ! GET_OK $location, username => 'jobbob', password => 'whatever';
1.1 modperl-2.0/t/hooks/TestHooks/authz.pm
Index: authz.pm
===================================================================
package TestHooks::authz;
use strict;
use warnings FATAL => 'all';
use Apache::Access ();
use Apache::Const -compile => qw(OK AUTH_REQUIRED);
sub auth_any {
my $r = shift;
my($res, $sent_pw) = $r->get_basic_auth_pw;
return $res if $res != Apache::OK;
unless($r->user and $sent_pw) {
$r->note_basic_auth_failure;
return Apache::AUTH_REQUIRED;
}
return Apache::OK;
}
sub handler {
my $r = shift;
my $user = $r->user;
return Apache::AUTH_REQUIRED unless $user;
my($u, @allowed) = split /\s+/, $r->requires->[0]->{requirement};
return Apache::AUTH_REQUIRED unless grep { $_ eq $user } @allowed;
Apache::OK;
}
1;
__DATA__
require user dougm
AuthType Basic
AuthName simple
PerlAuthenHandler TestHooks::authz::auth_any
PerlResponseHandler Apache::TestHandler::ok1
SetHandler modperl