NAME
Config::Manager::User - Routinen zur Abfrage von Benutzerinformationen
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');
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.
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 lokal auf der jeweiligen Maschine liegen darf.
Dazu muss man lediglich die letzte der einzulesenden Konfigurationsdateien mit Hilfe des "NEXTCONF"-Zeigers auf eine Datei zeigen lassen, die nur vom jeweiligen Besitzer gelesen und geschrieben werden kann, und deren Name in "PRIVATE.ini" enden muss (es koennen aber z.B. auch Namen wie ".../SPU-PRIVATE.ini" o.ae. verwendet werden - der Name muss nur dem Regulaeren Ausdruck "/\bPRIVATE?\.ini$/i
" genuegen).
In dieser Datei legt dann der jeweilige Benutzer seine sensiblen Daten ab - und zwar nur diese, da alle uebrigen Angaben ggfs. von anderen Tools benoetigt werden (wie z.B. vom Daemon zum Abholen der Job-Outputs, von Tools zum Auflisten der kompletten Konfiguration, von Tools zum Anzeigen von allen gesendeten Auftraegen (Jobs), usw.).
Der Besitzer der "privaten" Datei muss darauf achten, dass niemand ausser ihm selbst Lese- oder Schreibrechte fuer diese Datei hat, und dass niemand ausser ihm Schreibrechte auf das Verzeichnis hat, in dem diese Datei liegt.
DATENSTRUKTUREN
%ConfCache
Speichert die Konfigurationsobjekte von verschiedenen Benutzern zwischen. Schluessel sind die User-Kennungen, Werte die Objekt-Referenzen von Instanzen von "Config::Manager::Conf".
OEFFENTLICHE ROUTINEN
user_id()
Benutzerkennung des momentanen Users (d.h. des Aufrufers).
Parameter: - Rueckgabe: Benutzerkennung oder undef bei Fehler
user_name()
Benutzername (Vor- und Nachname) des momentanen oder angegebenen Users bestimmen.
Parameter: [user-id] (optional) Rueckgabe: Benutzername (Vor- und Nachname) oder undef
user_conf()
Das Konfigurationsobjekt fuer den angegebenen User.
Parameter: user-id (Login-Kennung des Users) Rueckgabe: Referenz auf Konfigurationsobjekt oder undef bei Fehler
host_id()
HOST-ID des momentanen oder angegebenen Users bestimmen.
Parameter: [user-id] (optional) Rueckgabe: HOST-ID oder undef
host_pw()
HOST-PW des momentanen oder angegebenen Users bestimmen.
Parameter: [user-id] (optional) Rueckgabe: HOST-PW oder undef
machine_id()
MACHINE-ID des momentanen Users bestimmen.
Parameter: - Rueckgabe: MACHINE-ID oder undef
PRIVATE ROUTINEN
private _get_user_conf()
Gibt zu einer Login-Kennung ein Objekt mit der Konfiguration des betreffenden Benutzers zurueck.
Parameter: user-id Login-Kennung des Users Rueckgabe: Referenz auf "Config::Manager::Conf"-Objekt oder undef
HISTORY
2003_02_05 Steffen Beyer & Gerhard Albers Version 1.0
2003_02_14 Steffen Beyer Version 1.1
2003_04_26 Steffen Beyer Version 1.2