2008/6/25 titetluc titetluc <[EMAIL PROTECTED]>:
> Hello all
>
> I am writing a Perl module to authenticate users (using mod_perl2 and httpd
> 2.2.6.
> I would like to display the user name (r->user) when accessing a directory
> (/test_index/index.html)
>
> I have the following httpd configuration
>
> <Location /test_index>
> DirectoryIndex index.html
> Options +indexes
> </Location>
>
> PerlModule Test
> <Location /test_index/index.html>
> Require valid-user
> AuthType basic
> AuthName test_index
> SetHandler perl-script
>
> PerlAuthenHandler Apache2::AuthSSO::Test->set_user
>
> PerlResponseHandler Apache2::AuthSSO::Test->display_user
> </Location>
>
> In addition, I added an empty index.html file in the htdocs/test_index
> directory
>
> The Perl Test module is
>
> package Test;
> use warnings;
> use strict;
> use Carp;
>
> use Apache2::Const qw(:common);
>
> sub set_user {
> my ($self, $r) = @_;
> $r->user('myself');
> return OK;
> }
> sub display_user {
> my ($self, $r) = @_;
> my $user = defined $r->user ? $r->user : 'user is not defined';
> print $user;
> return OK;
> }
>
> 1;
>
> When I access with my browser to http://localhost/test_index/index.html,
> user is set to 'myself'
> BUT when I access with my browser to http://localhost/test_index/ ... user
> is not defined !!!
>
> I don't know if the problem comes from mod_perl or from the httpd
> configuration.
> Any help would be appreciated.
>
> Thanks
>
I found a thread related to directory indexes (
http://marc.info/?l=apache-modperl&m=119996305532711&w=2)
According to this thread, user information could be retrieved with
$r->main->user
But in my configuration, when accessing to http://localhost/test_index/,
$r->main is always undefined in the PerlResponseHandler !!!!
Please help
Thanks