It appears as though the user method only returns a value after successful authentication while you're trying to get it before.
George wrote: > Hello All, > > I'm having a problem with modperl and I can't figure out if it's my > stupiditry or modperls'. I'd love somebody with some modperl foo to > give me a hand. > > First, the config: > > rembox# cat /etc/redhat-release > Red Hat Enterprise Linux ES release 4 (Nahant Update 4) > > rembox# rpm -qa | egrep 'http|mod_perl' > httpd-2.0.52-32.3.ent > httpd-devel-2.0.52-32.3.ent > mod_perl-1.99_16-4.5 > httpd-suexec-2.0.52-32.3.ent > > rembox# cat /etc/httpd/conf.d/perl.conf | egrep -v "^#" > LoadModule perl_module modules/mod_perl.so > > Alias /perlremedy /opt/arsperl/scripts/htdocs/ > > PerlModule ModPerl::Registry > PerlSwitches -I/opt/arsperl/scripts/htdocs/sec/ > PerlModule Apache::compat > > <Directory /opt/arsperl/scripts/htdocs/*.pl> > SetHandler perl-script > PerlResponseHandler ModPerl::Registry > Options ExecCGI > PerlOptions +ParseHeaders > </Directory> > > <Directory /opt/arsperl/scripts/htdocs/sec/> > SetHandler perl-script > PerlResponseHandler ModPerl::Registry > PerlAuthenHandler My::AuthTest > Options ExecCGI > PerlOptions +ParseHeaders +GlobalRequest > > AuthType Basic > AuthName "Remedy access" > Require valid-user > </Directory> > > <Location /perl-status> > SetHandler perl-script > PerlResponseHandler Apache::Status > Order deny,allow > Deny from all > Allow from .your-domain.com > </Location> > > Here's the contents of My::AuthTest: > > package My::AuthTest; > use Data::Dumper; > use Apache::Access; > use Apache::Const -compile => qw(OK DECLINED HTTP_UNAUTHORIZED); > use strict; > > sub handler { > my $r = shift ; > open (FOO, ">/tmp/foo.george"); > > # get the client-supplied credentials > my $username = $r->user; > my ($status, $password) = $r->get_basic_auth_pw; > > print FOO Dumper($username); > print FOO Dumper($password); > print FOO Dumper($status); > > close FOO; > > # only continue if Apache says everything is OK > return $status unless $status == Apache::OK; > > # Until we figure how to get the username, lets just return OK. > return Apache::OK; > > } > > 1; > > That handler lets the auth through so it's somewhat working. The > problem is $username is undef so I can't actually test a login or > anything. If I try get access to it from a script that's run after > the auth (ie, the actual request), then it's not blank and I can see > the username. I've also tried $r->connection->user; > > I've read a whole bunch of the docs, but what seems to be provided by > RedHat bears to reference to what's on the interweb. > > Can somebody tell me what I'm missing? > > Cheers! > > George > > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/