Beschreibung der Möglichkeiten der Administration interner Rollen und Nutzer online und über das CLI.
MyCoRe bietet ein komplexes System zum Laden und Bearbeiten von Rollen und Nutzern. Dies kann sowohl online über die Nutzung von Servlet-Schnittstellen wie auch offline via Kommandos erfolgen. Daneben ist es möglich externe Authentifizierungsmechanismen einzubenden, welche aber nicht auf dieser Seite erläutert werden sollen.
Beim neu Anlegen einer Anwendung ist darauf zu achten, dass das Rollen- und Nutzersystem angelegt wurde. dies
geschiet mit dem folgenden Kommando. Anschließend ist die Rolle
admin
und der Nutzer
administrator
mit dem Password
alleswirdgut
angelegt.
Dieses sollte geändert werden!!!
init superuser
Die XML-Ausprägung von Rollen ist relativ simpel gehalten. Sie enthält nur den Namen der Gruppe und einige beschreibende Elemente.
|
|
Alle Rollen in MyCoRe in einer spezielle Klassifikation mcr-roles gespeichert und nutzen damit die Funktionalitäten des Klassifiaktionssystems. Dies gilt auch für die Bearbeitung der Rollen. Hier kommt auch der Klassifikationseditor zu Einsatz.
Um die Administration der Rollen abzusichern, ist die Klassifikation mcr-roles über das Rechtesystem abgesichert. Für die Bearbeitung der Klassifikation mcr-roles sind daher Zugriffsrechte writedb und deletedb für diese Klassifikation in den ACL-Listen einzutragen. Hierbei ist die konkrete Ausprägung abhängig von der genutzten Zugriffs-Strategie.Beispielsweise könnte der Eintrag für die Strategie 2 wie folgend aussehen:
update permission writedb for id default_class with rulefile grant-admins.xml
update permission deletedb for id default_class with rulefile grant-admins.xml
Nun kann der Klassifikationseditor für die Rollen mit
/authorization/roles-editor.xml
aufgerufen werden. Dieser Aufruf kann beispielweise in der Benutzernavigation bei entsprechender Berechtigung
angeboten werden.
Über die MyCoRe Kommandozeile können auch alle administrativen Operationen für Rollen ausgeführt werden.
add roles from user file {0}
import role from file {0}
list all roles
list role {0}
assign user {0} to role {1}
unassign user {0} to role {1}
delete role {0}
Die Attribute von Benutzern des Systems unterteilen sich in drei Bereiche:
Mit der Eigenschaft
locked
kann man festlegen, ob der Nutzer seine Daten selber ändern darf
oder nicht. Ist locked auf
true
gesetzt, dürfen alle Daten geändert werden. Setzt man den Wert
auf
false
, darf der Nutzer nur sein Passwort ändern. Alle anderen Daten sind geschützt und
können nur vom Administrator
geändert werden.
Die Nutzer werden in der Datenbank abgespeichert, die XML-Repräsentation eines Benutzerobjektes zeigt das folgende Codebeispiel:
|
|
Für die Verarbeitung der Nutzerdaten ist das
MCRUserServlet
zuständig. Der
Parameter
'action'
bestimmt, was getan werden soll. Mögliche Werte sind
show
,
save
,
delete
,
password
(ggf.
mit Angabe der
'id'
als zweiten Parameter). Standardmäßig wird die Aktion
search
aufgerufen, diese listet alle Nutzer im System auf.
Für die Online-Arbeit muss der ausführende Nutzer das
Privileg
administrate-users
haben. Um neue Benutzer anzulegen ist weiterhin das Privileg
create-users
erforderlich.
Die mycore-user2-Komponente stellt verschiedene Editoren für den Umgang mit dem Nutzer bereit, die in der folgenden Übersicht beschrieben werden:
Datei | Beschreibung | Beispielaufruf |
---|---|---|
new-user.xed | Erfassungsmaske zur Erstellung eines neuen Nutzers | authorization/new-user.xed?action=save |
action=show | Nutzerdaten anzeigen | servlets/MCRUserServlet?action=show&id=editorTest |
change-user.xed | Daten eines Nutzers ändern | authorization/change-user.xed?action=save&id=editorTest |
change-password.xed | Passwort des angegebenen Nutzers ändern | authorization/change-password.xed?action=password&id=editorTest |
XSL.step=confirmDelete | Löschen des Nutzers mit Sicherheitsabfrage | servlets/MCRUserServlet?action=show&id=editorTest&XSL.step=confirmDelete |
Über die MyCoRe Kommandozeile können auch alle administrativen Operationen für Nutzer ausgeführt werden.
export all users to directory {0}
import all users from directory {0}
update all users from directory {0}
list all users
list user {0}
import user {0} from File {1}
export user {0} to file {1}
set password for user {0} to {1}
enable user {0}
disable user {0}
delete user {0}