Hi List, I wrote a PerlAuthenHandler to authenticate users that access a webservice. I supposed that by returning either "OK" or "HTTP_UNAUTHORIZED" back to apache2 it will allow or deny acces due to the "require valid-user" directive that I set. My problem is, that apache executes my handler, but it does not take care of my return-values. Instead it always serves the request and grants access.
Any ideas? Thanks in advance, Moritz Section of my apache-configuration: --- BEGIN --- PerlModule FOO::Auth <Location /bar> # do authentication: PerlAuthenHandler FOO::Auth::authen_handler AuthName "experimental server" AuthType Basic Require valid-user </Location> --- END --- Code of my handler-module: --- BEGIN --- package FOO::Auth; use Data::Dumper; use Apache::RequestRec; use Apache::Access; use Apache::Log; use Apache::Const -compile => qw(OK DECLINED HTTP_UNAUTHORIZED FORBIDDEN); use Apache::RequestUtil (); sub authen_handler { my $r = shift; # get user's authentication credentials my ($res, $sent_pw) = $r->get_basic_auth_pw; return $res if $res != Apache::Const::OK; my $user = $r->user; print STDERR "$user -> $sent_pw\n"; if ($user eq "mytestuser") { return OK; } else { $r->note_basic_auth_failure; $r->log_reason("wrong login", $r->uri); return HTTP_UNAUTHORIZED; } } 1; --- END --- extract of apache2 error-log: --- BEGIN --- notmytestuser -> sad [Tue May 15 15:53:34 2007] [error] access to /bar/index.php failed for xxx.xxx.xxx.xxx, reason: wrong login --- END ---