Quoting Marcel Weber <[EMAIL PROTECTED]> [12 Feb-02 16:15]:
> I don't get the point why it did not work the other way round,
> but now everything is just fine now :
Make it a little more generic:
package Apache::MultiAuthen;
use strict;
use Apache::Constants qw(:common);
sub handler {
my $r = shift;
my($res, $sent_pw) = $r->get_basic_auth_pw;
return $res if $res != OK;
# Tweak this; unsure about dir_config returning an array
my @auth_modules = $r->dir_config("AuthModules");
for my $am (@auth_modules) {
load($am);
if ($@) {
$r->log("Error loading module '$am': $@");
next;
}
my $handler = \&{"$am\::handler"};
if ($handler->($r) == OK) {
$r->log_reason("$am return OK");
return OK
}
$r->log_reason("$am not OK");
}
$r->note_basic_auth_failure;
return AUTH_REQUIRED;
}
sub load {
my $module = @_;
$module =~ s[::][/]g;
$module .= '.pm';
eval { require $module; };
return $@ ? 1 : 0;
}
1;
__END__
(darren)
--
Never attribute to malice that which is adequately explained by
incompetence.
-- Napolean Bonaparte