FS::UID - Subroutines for database login and assorted other stuff
  use FS::UID qw(adminsuidsetup cgisuidsetup dbh datasrc getotaker
  checkeuid checkruid swapuid);
  adminsuidsetup $user;
  $cgi = new CGI;
  $dbh = cgisuidsetup($cgi);
  $dbh = dbh;
  $datasrc = datasrc;
  $driver_name = driver_name;
Provides a hodgepodge of subroutines.
- adminsuidsetup USER
 
- 
Sets the user to USER (see config.html from the base documentation).
Cleans the environment.
Make sure the script is running as freeside, or setuid freeside.
Opens a connection to the database.
Swaps real and effective UIDs.
Runs any defined callbacks (see below).
Returns the DBI database handle (usually you don't need this).
- cgisuidsetup CGI_object
 
- 
Takes a single argument, which is a CGI (see the CGI manpage) or Apache (see Apache)
object (CGI::Base is depriciated).  Runs cgisetotaker and then adminsuidsetup.
- cgi
 
- 
Returns the CGI (see the CGI manpage) object.
- dbh
 
- 
Returns the DBI database handle.
- datasrc
 
- 
Returns the DBI data source.
- driver_name
 
- 
Returns just the driver name portion of the DBI data source.
- getotaker
 
- 
Returns the current Freeside user.
- cgisetotaker
 
- 
Sets and returns the CGI REMOTE_USER.  $cgi should be defined as a CGI.pm
object (see the CGI manpage) or an Apache object (see Apache).  Support for CGI::Base
and derived classes is depriciated.
- checkeuid
 
- 
Returns true if effective UID is that of the freeside user.
- checkruid
 
- 
Returns true if the real UID is that of the freeside user.
- swapuid
 
- 
Swaps real and effective UIDs.
- getsecrets [ USER ]
 
- 
Sets the user to USER, if supplied.
Sets and returns the DBI datasource, username and password for this user from
the `/usr/local/etc/freeside/mapsecrets' file.
Warning: this interface is likely to change in future releases.
A package can install a callback to be run in adminsuidsetup by putting a
coderef into the hash %FS::UID::callback :
    $coderef = sub { warn "Hi, I'm returning your call!" };
    $FS::UID::callback{'Package::Name'};
$Id: UID.html,v 1.3 2001-04-23 12:40:30 ivan Exp $
Too many package-global variables.
Not OO.
No capabilities yet.  When mod_perl and Authen::DBI are implemented, 
cgisuidsetup will go away as well.
Goes through contortions to support non-OO syntax with multiple datasrc's.
Callbacks are inelegant.
the FS::Record manpage, the CGI manpage, DBI, config.html from the base documentation.