Config-Manager

 view release on metacpan or  search on metacpan

lib/Config/Manager/User.pm  view on Meta::CPAN

        @ERROR,
        "Couldn't find user's HOST-ID in configuration data:",
        $error
    );
    return undef;
}

sub host_pw
{
    my($conf,$host_pw,$error);

    if (@_ > 0)
    {
        return undef
            unless (defined ($conf = &_get_user_conf($_[0])));
    }
    else
    {
        $conf = Config::Manager::Conf->default();
    }
    if (defined ($host_pw = $conf->get(@HOST_PW)))
    {
        return $host_pw;
    }
    $error = $conf->error();
    $error =~ s!\s+$!!;
    Config::Manager::Report->report
    (
        @ERROR,
        "Couldn't find user's HOST-PW in configuration data:",
        $error
    );
    return undef;
}

sub machine_id
{
    my($machine,$error);

    if (defined ($machine = Config::Manager::Conf->get(@MACHINE)))
    {
        return $machine;
    }
    $error = Config::Manager::Conf->error();
    $error =~ s!\s+$!!;
    Config::Manager::Report->report
    (
        @ERROR,
        "Couldn't find MACHINE-ID in configuration data:",
        $error
    );
    return undef;
}

1;

__END__

=head1 NAME

Config::Manager::User - Routinen zur Abfrage von Benutzerinformationen

=head1 SYNOPSIS

 use Config::Manager::User qw(:all);

 # Login-Kennung des momentanen Users ermitteln
 my $user    = user_id();

 # HOST-ID des momentanen Users bestimmen
 my $host_id = host_id();

 # HOST-PW des momentanen Users bestimmen
 my $host_pw = host_pw();

 # HOST-ID des angegebenen Users (client) bestimmen
 my $host_id = host_id("client");

 # HOST-PW des angegebenen Users (client) bestimmen
 my $host_pw = host_pw("client");

 # MACHINE-ID des Aufrufers bestimmen
 my $machine = machine_id();

 # Benutzername (Vor- und Nachname) des
 # momentanen Users ermitteln
 my $name    = user_name();

 # Benutzername (Vor- und Nachname) des
 # angegebenen Users (client) ermitteln
 my $name    = user_name("client");

 # "Config::Manager::Conf"-Objekt fuer den angegebenen
 # User zurueckgeben
 my $conf    = user_conf("client");

 # Andere Benutzer-spezifische Informationen
 # ermitteln (Beispiel)
 my $phone   = $conf->get('Person', 'Telefon');

=head1 DESCRIPTION

In diesem Modul finden sich einige Routinen, um Informationen ueber den
Benutzer des Programms (oder andere Benutzer) zu erhalten. Es stuetzt
sich dabei auf das Modul "Config::Manager::Conf" ab.

=head1 ZUGANG & SICHERHEIT

Dieses Modul setzt voraus, dass die Konfigurationsdateien von allen
Benutzern fuer alle Benutzer zugaenglich und lesbar sind (also z.B.
nicht lokal auf dem Rechner des jeweiligen Benutzers, sondern zentral
auf einem Netzlaufwerk abgelegt sind), so dass die persoenlichen
Informationen wie voller Name, Host-ID usw. auch fuer andere
Benutzer als den momentanen Aufrufer ermittelt werden koennen.

Dies ist insbesondere fuer den Daemon wichtig, der die Job-Outputs vom
Host abholt, da er z.B. nachschauen koennen muss, in welches Verzeichnis
der jeweilige Absender die Job-Outputs gestellt haben moechte.

Es ist dabei jedoch trotzdem moeglich, sensible Daten wie Passwoerter
in eine separate und speziell geschuetzte Datei auszulagern, die auch



( run in 0.645 second using v1.01-cache-2.11-cpan-364913b4093 )