Dieser Teil der Dokumentation beschreibt Funktionalität, Design, Implementierung und Nutzung des MyCoRe Subsystems für die Benutzer- und Rechteverwaltung.
Abbildung 1 zeigt die einzelnen am Geschäftsprozess der MyCoRe Benutzer- und Rechteverwaltung beteiligten Komponenten. Logische Teile dieses Systems sind die Benutzer user welche Rollen roles zugeordnet sind. Dabei kann ein Benutzer ein oder mehreren Rollen zugeordnet sein. Standardmäßig ist die Rolle admin und der Nutzer administrator mit dem Passwort alleswirdgut angelegt.
Während die Rollen im MyCoRe-Klassifikationssystem abgelegt sind und wie jede andere Klassifikation mit dem Klassifikationseditor bearbeitet werden kann, liegen die Daten der Benutzer in zwei SQL-Tabellen mit Namen MCRUser und MCRUserAttr. Die Online-Bearbeitung dieser erfolgt über Editormasken und Servlets. Weiterhin stehen über die CLI eine Reihe von Kommandos zur Manipulation der Einträge bereit.
Benutzer, Rollen und IP-Adressen können in einer Regel rule miteinander logisch verknüpft werden. Dabei hat sich gezeigt, dass Regeln mit Rollen die wohl häufigste Anwendungsform sind.
Die Zugriffskontrolle über ACLs (Access-Control-Listen) kennt ihrerseits wieder zwei Typen von Zugriffsrechten. Objektlose Rechte, wie Rechte zum Anlegen eins neuen Objektes oder der Zugriff auf das WEB-CLI oder den Klassifkationsbrowser sind Privilegien privileges eines Nutzers. Sie sind nicht direkt an ein Datenobjekt oder eine -objektgruppe gebunden. Anders sieht es für die Zugriffe permissions aus. Diese sind an ein einzelnes Datenobjekt oder eine Datenobjektgruppe gebunden. Guppen werden über ihre MCR-Base-ID oder über ihren MCR-Type definiert und korrespondieren mit der entsprechenen MyCoRe-ID. Für jedes Zugriffsrecht read, write, delete und administrate-user ist eine eigene permission oder ein privilege anzulegen. Die Liste der definierten Zugriffsrechte ist in den SQL-Tabellen MCRACCESS und MCRACCESSRULE abgelegt.
Nach dem Login-Vorgang des Benutzers wird dessen Kennung in der aktuellen Session gespeichert. Ohne Login wird immer der Pseudo-Nutzer guest angenommen. Wird von der Anwendung ein Zugriffsrecht benötigt, so wird je nach dem das entsprechende privilege oder die permission abgefragt.