Apache-AuthPAM
view release on metacpan or search on metacpan
# Preloaded methods go here.
sub handler {
# get object request
my $r = shift;
# check first request
return OK unless $r->is_initial_req;
# get user password
my ($rc, $pw) = $r->get_basic_auth_pw;
# decline if not basic
return $rc if $rc;
# get log object
my $log = $r->log;
# get user name
my $username = $r->connection->user;
You can select the PAM service setting the perl var PAMservice
PerlSetVar PAMservice the-pam-service-you-want
You can select different PAM services for different directories
or locations in your web server filesystem space.
Apache::AuthPAM works as follows:
First, it calls C<pam_start> with the selected service.
Second, it calls C<pam_authenticate> with the browser/apache supplied username and password.
Later, it calls C<pam_acct_mgmt>.
And finally it calls C<pam_end>.
If any of the PAM functions fail, Apache::AuthPAM logs an info level message and returns C<AUTH_REQUIRED>.
If all PAM functions are succesfull, Apache::AuthPAM logs an info level message and returns C<OK>.
If you are going to use your system password database, you
B<MUST> also use B<mod_ssl>.
=head1 BUGS
I'am using a global symbol.
Apache::AuthPAM is running as the same user mod_perl is running
(on RedHat Linux it is apache). It is running without privileges.
=head1 AUTHOR
( run in 0.933 second using v1.01-cache-2.11-cpan-49f99fa48dc )