====== TPSR ====== ===== Rechte ===== Die Applikation bestimmt die Rechte. //Wie// sie für welche Identität autorisiert werden ist Sache der flexibel einsetzbaren Autorisierern. Alle Komponenten müssen aber wissen, welche Rechte es gibt, und wovon sie abhängen, um vollständig und effizient gebaut werden zu können((man könnte auch das //welche// Rechte es gibt flexibel gestalten, aber dann muss man aus dem System unglaublich viel per Schnittstelle an alle anderen Komponenten liefern. Das hat mit Effizienz dann nichts mehr zu tun)). \\ \\ Die UI muss z.B. wissen, welche Rechte für bestimmte Befehle benötigt werden, und auch, wovon sie abhängen, um z.B. von einander abhängige Nachschlagelisten für Befehle anbieten zu können, die u.U. erst aktiviert sind, nachdem andere Nachschlagelisten Wertangaben haben. \\ \\ Nehmen wir das Beispiel von Projektbudgets. Wenn man ein frei erweiterbares Rechtesystem hätte, könnte man bestimmen, dass nur bestimmt Mitarbeiter Budgets über EUR 2.000.000,- angeben können. Davon weiß die UI aber erst mal nichts, wüsste gar nicht, darauf zu prüfen, u.U. Wertebereiche für Budgets anzugeben. \\ \\ Das Ergebnis ist das, dass die Applikation die Rechte vorgeben muss. Sie dokumentiert das in Tabellenform für alle anderen Komponenten. Das ist schon sehr viel besser als bisher, weil alle anderen Komponenten die Rechte nun deklarativ verwenden können, und nicht wie in allen Anwendungen bisher die Rechte in allen Abfragen kompliziert mit einbauen muss, was auch nicht erweiterbar war. Wenn ein neuer Autorisierer dazu kommt, der die vorhandenen Rechte nach neuen Regeln autorisiert, hätte man alles anfassen müssen. Jetzt muss man gar nichts anfassen, kann den neuen Autorisierer einfach dazu nehmen, der die deklarativen Rechteabfragen mit autorisisert. ==== Dokumentation der TPSR Rechte ==== [[applications:tpsr_privileges|TPSR Rechtetabelle]] ===== Businessobjekte ===== * [[applications:tpsr:teams|Teams]] * [[applications:tpsr:staff|Betreuer]] ===== Rechte-Rollen und Ebenen ===== {{ :applications:tpsr:privileges:privilegesrelations.png?nolink |}} Es gibt 3 Rechte-Ebenen im TPSR. Diese sind erweiterbar, d.h. man kann Rechte dazu bauen, welche dann vom Applikations Server berücksichtigt werden können, indem sie einfach dazu genommen werden. Die Rechte-Ebenen sind aktuell folgende: * [[applications:tpsr:privileges:tenantrole|Rollen auf Einrichtungsebene]]((z.B. "Einrichtungsleiter")). * [[applications:tpsr:privileges:teamrole|Rollen auf Team-Ebene]]((z.B. "Teamleiter")) * [[applications:tpsr:privileges:referencecustodian|Betreuer des Klienten]]((z.B. "Bezugsbetreuer")) ===== Rechte auf Bereiche ===== * [[applications:tpsr:privileges:discussion|Allgemeine Besprechung]] Über die Rechte-Rollen auf den diversen Ebenen ergeben sich folgende Rechte * [[applications:tpsr:privileges:adminprivs|Rechte auf Administrative Daten]] * [[applications:tpsr:privileges:staffprivs|Rechte auf Mitarbeiterdaten]] * [[applications:tpsr:privileges:teamprivs|Rechte auf Teamdaten]] * [[applications:tpsr:privileges:clientprivs|Rechte auf Klientendaten]]