NAME
Apache::AuthzNIS - mod_perl NIS Group Authorization module
SYNOPSIS
# This is the standard authentication stuff
AuthName "Foo Bar Authentication"
AuthType Basic
# The following is actually only needed when you will authenticate
# via NIS passwd as well as authorize via NIS group.
# Apache::AuthenNIS is a separate module.
PerlAuthenHandler Apache::AuthenNIS
# Standard require stuff, NIS users or groups, and
# "valid-user" all work OK
require user username1 username2 ...
require group groupname1 groupname2 ...
require valid-user
PerlAuthzHandler Apache::AuthzNIS
These directives can also be used in the directive or in
an .htaccess file.
DESCRIPTION
This perl module is designed to work with mod_perl, the
Net::NIS module by Rik Haris (rik.harris@fulcrum.com.au),
and the Apache::AuthenNIS 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 Net::NIS::yp_match using each of the
require group elements as keys to the the group.byname map,
until a match with the (already authenticated) user is
found.
For completeness, the module also handles require user and
require valid-user directives.
Apache::AuthenNIS vs. Apache::AuthzNIS
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::AuthenNIS with the
require user and require valid-user directives. In the NIS
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::AuthzNIS.
I welcome any feedback on this module, esp. code
improvements, given that it was written hastily, to say the
least.
AUTHOR
Demetrios E. Paneras
Ported by Shannon Eric Peevey
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.