Sorry, this code does not work... Should test it better before sending it to to mailing list...
Marcel Am Donnerstag den, 14. Februar 2002, um 00:05, schrieb Marcel Weber: > So here comes the most actual code: > > Submitting it to CPAN would be fine! > > ------------------------------------------------ > > package Apache::AuthMulti; > > # Stathy G. Touloumis > # Marcel M. Weber > # Darren Chamberlain > # > # Version 0.01-2 / 13.02.2002 / Marcel M. Weber > > 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; > > my @auth_modules=$r->dir_config->get("AuthModules"); > > for my $am (@auth_modules) > { > load($am); > if ($@){ > $r->log_reason("Error loading module '$am':$@"); > next; > } > > my $handler = $am->can('handler') or next; > if ($handler->($r) == OK) { > $r->warn("$am return OK"); > return OK; > } > > $r->log_reason("$am not OK"); > } > > $r->note_basic_auth_failure; > $r->log_reason("none of the handlers could authenticate this > user"); > return AUTH_REQUIRED; > } > > sub load { > my $module=@_[0]; > $module =~ s[::][$Config{'path_sep'}]go; > $module .= '.pm'; > > eval { require $module; }; > > return $@ ? 1 : 0; > } > > 1; > __END__ > > ----------------------------------------------------------------------------- > > Am Mittwoch den, 13. Februar 2002, um 21:42, schrieb Stathy G. > Touloumis: > >> >> >>>> I would suggest changing the PerlSetVar variables >>>> to actual apache configuration directives which would change this : >>>> >>>> my @auth_modules=$r->dir_config->get("AuthModules"); >>>> >>>> I don't have an immediate patch for this but have done it before. >>>> If you would like me to work on this code no prob, otherwise check >>>> the eagle book for some samples if unfamiliar. >>> >>> *nod* I'm not sure that the syntax would work; $r->dir_config() >>> would probably return an arrayref, and such; this needs to be >>> tested. >> > > It returns a arrayref, as far as I experienced. Well I'm really new to > mod_perl > and my eagle book waits still in the library to be bought... But why > is this > version not nice? > > ------------------- > > Marcel > > PGP / GPG Key: http://www.ncpro.com/GPG/mmweber-at-ncpro-com.asc > > > ------------------- PGP / GPG Key: http://www.ncpro.com/GPG/mmweber-at-ncpro-com.asc