Hinweis: Sie sind auf den Seiten der Moodle 1.9 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Wie Rechte berechnet werden.

Wie Rechte berechnet werden: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 9: Zeile 9:
Moodle berechnet nie den "Gesamtsatz" aller Rechte eines Nutzers. Das wäre sehr teuer, zeitaufwändig und unnütz, weil die meisten Rechte in einer gegebenen Situation nicht relevant sind. Stattdessen berechnet Moodle Rechte nur dann, wenn es nötig ist. Diese Rechte werden auch nicht gespeichert, sondern bei Bedarf jedes Mal neu berechnet. Daher gibt es auch keine "Verzögerungseffekte" mehr (etwa wenn Sie Rollen ändern), wie das in Moodle 1.7, 1.8 der Fall ist.
Moodle berechnet nie den "Gesamtsatz" aller Rechte eines Nutzers. Das wäre sehr teuer, zeitaufwändig und unnütz, weil die meisten Rechte in einer gegebenen Situation nicht relevant sind. Stattdessen berechnet Moodle Rechte nur dann, wenn es nötig ist. Diese Rechte werden auch nicht gespeichert, sondern bei Bedarf jedes Mal neu berechnet. Daher gibt es auch keine "Verzögerungseffekte" mehr (etwa wenn Sie Rollen ändern), wie das in Moodle 1.7, 1.8 der Fall ist.


Übrigens können Sie mit Hilfe des PHP-Skripts [[Das Skript ''rolesdebug.php'']] Rechte-Tabellen, wie sie in diesem Artikel weiter unten vorkommen, generieren.
Übrigens können Sie mit Hilfe des PHP-Skripts [[Das Skript rolesdebug.php|''rolesdebug.php'']] Rechte-Tabellen, wie sie in diesem Artikel weiter unten vorkommen, generieren.
 
==Der Berechnungsalgorithmus==
 
==Anmerkung zum Algorithmus==
 
==Wie kommen Sie zu einem Ergebnis==
 
==Ein praktisches Beispiel==
 
==Siehe auch==
Diskussionsbeiträge im Kurs ''Using Moodle'' auf moodle.org:
* [http://moodle.org/mod/forum/discuss.php?d=90140 Logged in: what role am I?]
* [http://moodle.org/mod/forum/discuss.php?d=66782 What happens if a user has multiple roles in a course?]
 
Skript zum Testen von Rollen:
* [[Das Skript rolesdebug.php|''rolesdebug.php'']]


[[Category:Rollen]]
[[Category:Rollen]]


[[en:How_permissions_are_calculated]]
[[en:How_permissions_are_calculated]]

Version vom 2. März 2009, 11:50 Uhr

Baustelle.png Diese Seite ist noch nicht vollständig übersetzt.

Siehe en:How_permissions_are_calculated

Eine der am häufigsten gestellten Fragen lautet: "Was sind meine Rechte in diesem Kontext?" In diesem Artikel wird die Funktion beschrieben, die Moodle verwendet, um diese Frage zu beantworten. Der Artikel ist sowohl für Nicht-Programmierer als auch Programmierer geschrieben, denn er beschreibt, was diese Funktion tut, nicht wie sie es tut. Das Wie ist kompliziert, das Was dagegen ist relativ einfach zu verstehen. Wenn Sie Programmierer sind und den entsprechenden Code lesen möchten, suchen Sie die Funktion has_capability() im PHP-Skript lib/accesslib.php.

Zu einem gegebenen Nutzer, einer gegebenen Fähigkeit und einem gegebenen Kontext liefert die Funktion has_capability() ein true (wahr), wenn der Nutzer im gegebenen Kontext das Recht hat, die Aktion, die durch die gegebene Fähigkeit gesteuert wird, durchzuführen, und andernfalls liefert sie false (falsch). Bei der Berechnung des Ergebnisses berücksichtigt die Funktion alle relevanten Rechte-Daten, inklusive Rollendefinitionen, Rollenzuweisungen und Rollenänderungen.

Moodle berechnet nie den "Gesamtsatz" aller Rechte eines Nutzers. Das wäre sehr teuer, zeitaufwändig und unnütz, weil die meisten Rechte in einer gegebenen Situation nicht relevant sind. Stattdessen berechnet Moodle Rechte nur dann, wenn es nötig ist. Diese Rechte werden auch nicht gespeichert, sondern bei Bedarf jedes Mal neu berechnet. Daher gibt es auch keine "Verzögerungseffekte" mehr (etwa wenn Sie Rollen ändern), wie das in Moodle 1.7, 1.8 der Fall ist.

Übrigens können Sie mit Hilfe des PHP-Skripts rolesdebug.php Rechte-Tabellen, wie sie in diesem Artikel weiter unten vorkommen, generieren.

Der Berechnungsalgorithmus

Anmerkung zum Algorithmus

Wie kommen Sie zu einem Ergebnis

Ein praktisches Beispiel

Siehe auch

Diskussionsbeiträge im Kurs Using Moodle auf moodle.org:

Skript zum Testen von Rollen: