Die Benuterverwaltung soll folgende Anforderungen erfüllen:
Benutzer sollen zu Gruppen zusammengefaßt werden. Auf diese Gruppen sollen die Rechte vergeben werden
Benutzergruppen sollen einzelne Berechtigungen zugewiesen werden können
Über die Benutzerverwaltung der Datenbank lassen sich dises Anforderungen nicht realisieren. Deshalb verbinden sich die Applikationen mit einem Standard-Datenbank-Login. Die Berechtigungs-Informationen ließt sie dann aus den modelierten Benutzertabellen. Für die Einhaltung dieser Berechtigungen ist die Applikation zuständig.
Datenmodel:
Tabellen:
tuse_user
Enthält die notwendigen Benutzer-Informationen wie Name, Login, Password, etc.
Spalte
Datentyp
Comment
use_id
int(16)
Identifier
use_name
varchar(32)
Name des Users
use_login
varchar(12)
Login des Users
use_password
varchar(48)
Password des Users in MD5 kodiert
use_password_changed
datetime
letze Änderungsdatum des User-Password
use_password_never_expired
enum(
'yes',
'no')
yes
:
Password läuft nach einer voreingestellte Zeit ab
no
:
Password läuft nie ab
use_status
enum(
'locked',
'pw_must_changed',
'active')
Login-Status des User
use_email
varchar(64)
E-Mail Adresse des Users
use_email_active
enum(
'inactive',
'active')
E-Mail Empfang unerwünscht / erwünscht
tusg_user_group
Enthält die Definition der Usergruppen.
Spalte
Datentyp
Comment
usg_id
int(16)
Identifier
usg_label
varchar(16)
Name der Usergruppe
usg_description
varchar(64)
Beschreibung der Usergruppe
tupe_user_permissions
Enthält die Definition der Berechtigungen.
Spalte
Datentyp
Comment
upe_id
int(16)
Identifier
upe_label
varchar(16)
Name der Berechtigung
usg_description
varchar(64)
Beschreibung der Berechtigungen
tuga_use_usg_assign
Ordnet User Usergruppen zu.
Spalte
Datentyp
Comment
uga_use_id
int(16)
Referenz-ID zu [tuse_user] (User)
uga_usg_id
int(16)
Referenz-ID zu [tusg_user_group] (Usergruppen)
tupa_usg_upe_assign
Ordnet Usergruppen Berechtigungen zu.
Spalte
Datentyp
Comment
upa_usg_id
int(16)
Referenz-ID zu [tusg_user_group] (Usergruppen)
upa_upe_id
int(16)
Referenz-ID zu [tupe_user_permissions] (Berechtigungen)
tulg_user_login_log
Enthält für jeden User ein Protokoll über jeden erfolgreichen oder fehlerhaftem Login.
Spalte
Datentyp
Comment
ulg_use_id
int(16)
Referenz-ID zu [tuse_user] (User)
ulg_datetime_login
timestamp(14)
Zeitpunkt des versuchten Logins
ulg_status
enum(
'failed',
'ok')
Ergebnis des Loginprozesses
tuph_user_pw_history
Enthält die historisierten Passwords zur Kontrolle auf wiederverwendete Passwords.