About

This page contains a single entry from the blog posted on October 3, 2007 9:05 PM.

The previous post in this blog was Assoziation und Aggregation in Rails.

The next post in this blog is Unklare Gedanken zum Thema "Module".

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.31

« Assoziation und Aggregation in Rails | Main | Unklare Gedanken zum Thema "Module" »

Ein paar Gedanken zu Benutzerrollen

Da neulich ja schon das Thema Benutzerrollen angesprochen wurde, habe ich nun mal ein paar Spezifikationen zur Benutzerverwaltung in meiner Software zusammengetragen. Diese Liste ist vorläufig, sie kann sich jederzeit ändern.

Folgende Benutzer-Rollen sind in Consolvix vorgesehen: Buchhaltungs-Administrator, Systemadministrator, Kunde, Reseller, E-Mailbenutzer, Hostingbenutzer, FTP-Benutzer, Systembenutzer. Rollen können sich überschneiden; manche Rollen sind Unter-Rollen von anderen Rollen. Buchhalterische und technische Rollen sind von einander getrennt.

Detaillierte Beschreibung

Der Kunde
erfüllt rein buchhalterische Aufgaben wie Abrechnungswesen, Domain-Eigentum etc. Der Kunde übernimmt die rechtliche Verantwortung für alle ihm zugeordneten Benutzer-Accounts und deren Inhalte. Im System (also technisch) spielt der Kunde keine Rolle.
Der Systembenutzer
ist die zentrale Entität. Jede Art von (Hosting-)Account wird durch Erweiterung der Rechte des Systembenutzers gebildet. Ein Systembenutzer erhält ein eigenes Heimat-Verzeichnis und einen System-E-Mailaccount (@). Zugriffsrechte, Quota-Regelungen etc. werden an den Systembenutzer vergeben. Der Systembenutzer spielt sowohl im (Betriebs-)System als auch in der Verwaltungssoftware (Consolvix) eine wichtige Rolle.
Der Systemadministrator
ist eine nur im Kontext der Verwaltungssoftware existierende Entität, die sämtliche Zugriffsrechte sowohl auf administrativer (kann sämtliche Konfigurationseinstellungen vornehmen) als auch auf Benutzerdatenebene besitzt. Der Systemadministrator hat jedoch a priori keinen Zugriff auf buchhalterische Daten (lässt sich durch eine Konfigurationsoption aber ändern). Administrationsrechte können Modulweise vergeben werden.
Der Buchhaltungs-Administrator
ist verantwortlich für das Rechnungswesen. Im Rahmen der Diplomarbeit nicht weiter relevant.
Reseller
sind Kunden mit zusätzlichen Rechten: sie dürfen andere Kunden und Systembenutzer anlegen und sind für deren Verwaltung verantwortlich. Reseller können im Rahmen ihrer eigenen Verbrauchsgrenzen (Quotas) auch solche für ihre eigenen Benutzer anlegen. Sie können jedoch keine technischen Verwaltungsaufgaben übernehmen (s. Sysadmin). Ein Reseller muss mind. einen Systembenutzeraccount und eine Domain besitzen
E-Mailbenutzer
sind in erster Linie für den E-Mailserver relevant. Über die Verwaltungssoftware können Konten erstellt, konfiguriert und gelöscht werden, das Abrufen von E-Mails geschieht jedoch über vorerst nur über den Mailserver direkt (via IMAP oder POP3).
Hostingbenutzer
sind Systembenutzer mit der Möglichkeit, Inhalte im Web freizugeben, sprich VirtualHosts einzurichten.
FTP-Benutzer
sind virtuelle Benutzer, die auf Systemebene nur für den FTP-Server relevant sind. Auf Verwaltungsebene können einem Systembenutzer beliebig viele FTP-Benutzerkonten zugeordnet werden.

Die Rollen werden hier nicht (nur) über einzelne Rechte-Flags, sondern teilweise über ganze eigene Entitäten in der Datenbank definiert. Beispielsweise wird ein Systembenutze rnicht einfach zum Hostingbenutzer indem er Hosting-Rechte über ein Boolean Flag freigeshaltet bekommt, sondern indem das Systembenutzer-Objekt einen ganzen Satz neuer Eigenschaften aggregiert, die diese Rechte und Grenzen quantitativ erfassen. Ebenso beim Reseller: ein ganzer Datensatz in der Reseller-Tabelle beschreibt, welche neuen Rechte ein Reseller-Kunde bekommt. Fehlt dieser Datensatz (bzw. ist der Fremdschlüsselverweis im Kunden-Objekt gleich NULL), dann handelt es sich nicht um einen Reseller-Kunden.

Ein paar Anforderungen:

  • Jeder Kunde bekommt 1...n Systembenutzer zugeordnet; Standard ist 1.
  • Ein Kunde kann Reseller-Rechte bekommen; Reseller sind Kunden mit Reseller-Rechten.
  • Ein Reseller ist berechtigt, andere Kunden und Systembenutzer anzulegen.
  • Jeder Kunde gehört zu genau einem Reseller.
  • Jeder Benutzer kann sein eigenes Kennwort/persönliche Daten ändern, Reseller die ihrer Kunden, Kunden die aller ihnen direkt zugeordneter Benutzer
  • Benutzer- und Resellerkonten können gesperrt werden.
  • Bei Sperrung eines Resellerkontos werden dessen Kundenkonten ebenfalls gesperrt
  • Für einen Kunden können alle E-Mail, FTP- und Systemkonten einzeln oder kollektiv gesperrt werden.
  • Kunden haben ein Benutzerkonto für das Online-Vertrags- und Rechnungswesen.

TrackBack

TrackBack URL for this entry:
http://www.innoq.com/movabletype/mt-tb.cgi/2779

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)