NAME
Apache::UploadSvr::User - Identify users and permissions Apache::UploadSvr
SYNOPSIS
Apache::UploadSvr::User->new($mgr);
DESCRIPTION
This class implements a mapping between user-ID and user attributes. The backend is provided by a mSQL-1 database with the following structure:
CREATE TABLE usertable (
user CHAR(12) NOT NULL PRIMARY KEY,
email CHAR(64),
firstname CHAR(32),
lastname CHAR(32),
fullname CHAR(64),
salut CHAR(4),
lastlogin CHAR(10),
introduced CHAR(10),
password CHAR(13),
changedon CHAR(10),
changedby CHAR(10)
)
user
corresponds to the username with which the users identify in the authentication stage. email
is their email address where the transaction tickets are delivered to. lastname
is their family name. <fullname> is whatever the fullname is composed of in the local culture. salut
is the salutation like Herr
or Mister
. lastlogin
is the timestamp that is updated with every request. introduced
is the timestamp when the user got registered (not used in this uploadserver). password
is the crypted password in the default upload server. If the authentication handler uses a different table, then this field is not needed. changedon
and changedby
are not used in this application, they are only used as interesting facts for the administrator.
CREATE TABLE perms (
user CHAR(12),
permitted CHAR(32)
)
This table has a 1 to N mapping of users to directories they have write access to.
The constructor ->new takes as a single argument an Apache::UploadSvr object and returns an object that has the above described fields as object attributes. The attribute permitted
is computed from the perms
table so that its value is an anonymous list of the directories the user has write permission to. A typical structure of such an object would be:
bless( {
'introduced' => 875601758,
'password' => 'rtthXtbR5tjit',
'fullname' => 'Andreas J. König',
'changedby' => 'andreas',
'lastname' => 'König',
'changedon' => 875601758,
'email' => 'k',
'firstname' => 'Andreas',
'salut' => 'Herr',
'lastlogin' => '0903739665',
'permitted' => [
'/'
],
'user' => 'andreas'
}, 'Apache::UploadSvr::User' )
The method ->has_perms($obj) returns true if the current user has write access to a file or dircetory. What counts here are database entries, not file system permissions.
CONFIGURATION
SECURITY
BUGS
AUTHOR
Andreas Koenig <koenig@kulturbox.de>
COPYRIGHT, LICENSE
These programs or modules are Copyright (C) 1997-1998 Kulturbox, Berlin, Germany.
They are free software; you can redistribute them, use and/or modify them under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 128:
Non-ASCII character seen before =encoding in 'König','. Assuming CP1252