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 )