NAME
Apache::AuthzPasswd - mod_perl /etc/group Group
Authorization module
SYNOPSIS
# This is the standard authentication stuff
AuthName "Foo Bar Authentication"
AuthType Basic
# The following is needed when you will authenticate
# via /etc/passwd as well as authorize via /etc/group.
# Apache::AuthenPasswd is a separate module.
PerlAuthenHandler Apache::AuthenPasswd
# Standard require stuff, users, groups and
# "valid-user" all work OK
require user username1 username2 ...
require group groupname1 groupname2 ...
require valid-user
PerlAuthzHandler Apache::AuthzPasswd
These directives can also be used in the directive or in
an .htaccess file.
DESCRIPTION
For starters, this module could just as well be named
Apache::AuthzGroup, since it has nothing to do with
/etc/passwd, but rather works with /etc/group. However, I
prefer this name in order to maintain the association with
Apache::AuthenPasswd, since chances are they will be used
together.
This perl module is designed to work with mod_perl and the
Apache::AuthenPasswd module by Demetrios E. Paneras
(dep@media.mit.edu). It is a direct adaptation (i.e. I
modified the code) of Michael Parker's
(parker@austx.tandem.com) Apache::AuthenSmb module (which
also included an authorization routine).
The module calls getgrnam using each of the require group
elements as keys, until a match with the (already
authenticated) user is found.
For completeness, the module also handles require user and
require valid-user directives.
Apache::AuthenPasswd vs. Apache::AuthzPasswd
I've taken "authentication" to be meaningful only in terms
of a user and password combination, not group membership.
This means that you can use Apache::AuthenPasswd with the
require user and require valid-user directives. In the
/etc/passwd and /etc/group context I consider require group
to be an "authorization" concern. I.e., group authorization
consists of establishing whether the already authenticated
user is a member of one of the indicated groups in the
require group directive. This process may be handled by
Apache::AuthzPasswd. Admittedly, AuthzPasswd is a misnomer,
but I wanted to keep AuthenPasswd and AuthzPasswd related,
if only by name.
I welcome any feedback on this module, esp. code
improvements, given that it was written hastily, to say the
least.
AUTHOR
Demetrios E. Paneras
COPYRIGHT
Copyright (c) 1998 Demetrios E. Paneras, MIT Media
Laboratory.
This library is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.