CGI-Builder-Auth
view release on metacpan or search on metacpan
lib/CGI/Builder/Auth/UserAdmin.pm view on Meta::CPAN
Note: run 'perl t/support.t matrix' to see what support is currently availible
B<Encrypt> - One of 'crypt', 'MD5', or 'none' (no encryption. Defaults to 'crypt'
B<Locking> - Boolean, Lock Text and DBM files (Default is true)
B<Path> - Relative DB files are resolved to this value (Default is '.')
B<Debug> - Boolean, Turn on debug mode
B<Flags> - The read, write and create flags.
There are four modes:
B<rwc> - the default, open for reading, writing and creating.
B<rw> - open for reading and writing.
B<r> - open for reading only.
B<w> - open for writing only.
Specific to DBM files:
B<DBMF> - The DBM file implementation to use (Default is 'NDBM')
B<Mode> - The file creation mode, defaults to '0644'
Specific to DBI:
We talk to an SQL server via Tim Bunce's DBI interface. For more info see:
http://www.hermetica.com/technologia/DBI/
B<Host> - Server hostname
B<Port> - Server port
B<User> - Database login name
B<Auth> - Database login password
B<Driver> - Driver for DBI (Default is 'mSQL')
B<UserTable> - Table with field names below
B<NameField> - Field for the name (Default is 'user')
B<PasswordField> - Field for the password (Default is 'password')
From here on out, things should look the same for everyone.
=item add($username,$password,[@fields])
=item add($username,$password,\%fields)
Add a user.
Fails if $username exists in the database
if($user->add('dougm', 'secret')) {
print "You have the power!\n";
}
You may need to pass additional fields, such as the user's real name.
This depends on your server of course.
$user->add('JoeUser', 'try2guess', '', 'Joseph A. User');
You can also pass a set of field name/value pairs in
the form of a hash ref. Example
$user->add('JoeUser','try2guess','',
{'Name'=>'Joseph A. User','Credit_limit'=>2000});
=item delete($username)
Delete a user
if($user->delete('dougm')) {
print "He's gone\n";
}
=item suspend($username)
Suspend a user
if($user->suspend('dougm')) {
print "Account suspended\n";
}
=item unsuspend($username)
Unsuspend a suspended user
if($user->unsuspend('dougm')) {
print "Account restored to normal\n";
}
=item exists($username)
True if $username is found in the database
if($user->exists('dougm')) {
die "oh no!";
}
=item password()
Returns the encrypted password for a user
$passwd = $user->password("dougm");
Useful for copying users to another database.
=item fetch($username,@fields)
Fetch a list of field values from the indicated user. Field names may
be provided as a list or as an array reference. The return value is a
reference to a hash containing the field/value pairs.
=item list()
Returns a list of usernames in the current database
@users = $user->list
=item update($username,$password)
=item update($username,$password,\%fields) B<SQL only>
Update $username with a new $password
( run in 0.655 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )