User Tools

Site Tools


applications:tpsr_privileges

TPSR Rechte

Die Aufteilung in Lese- und Schreibrechte ist nicht zwingend korrekt. Ein Recht 1) kann auch als Lese- und Schreibrecht verwendet werden. Es ist aber übersichtlicher, wenn man die Rechte entsprechend aufteilt. Rechte, die eine doppelte Rolle spielen, werden entsprechend zugeordnet, bzw. gekennzeichnet.

Rechte und Autorisierung

Es ist auch wichtig zwischen Rechten und der Autorisierung der Rechte zu differenzieren. Die Anwendung definiert die Rechte indem man für die Anwendung sinnvollerweise bestimmt, welche Rechte für welche Lese- und Schreib-Aktionen notwendig sind. Der Autorisierer bestimmt, wie diese Rechte genehmigt werden.

Teamrollen eines Mitarbeiters lesen zu dürfen hängt dabei z.B. sinnvollerweise vom Mitarbeiter ab, nicht von der Rolle. Wenn ich mir dann die Mitarbeiter zu einer Rolle angucken möchte, sehe ich auch nur die Mitarbeiter, für die ich das Recht habe, die Teamrollen zu sehen.

Eine Teamrolle für einen Mitarbeiter anlegen 2) zu können hängt aber vom Mitarbeiter und der Rolle ab. Ein Betreuer soll keinen Einrichtungsleiter anlegen dürfen. Anders herum aber doch. Es könnte auch nur von der Rolle abhängen, und nicht vom Mitarbeiter, also komplett umgekehrt als bei den Leserechten.

Die Rechte zu bestimmen ist also eher eine Kunst als ein rein logischer, bzw. technischer Vorgang.

Zu unterscheiden ist die Autorisierung von der Bestimmung der Rechte. Die Autorisierung wird auf vorhanden Rechte gemacht. Die Rechtebestimmung wird in der Anwendung vorgenommen, die Autorisierung der Rechte in dem Autorisierer. Der Autorisierer ist dabei abhängig von der Anwendung, aber nicht anders herum.

Wie ein Recht autorisiert wird ist dem Autorisierer völlig überlassen. Er kann Rechte auf Mitarbeiterebene direkt auf dieser Ebenen autorisieren. Er kann sie aber auch für alle Mitarbeiter autorisieren die eine bestimmte Rolle in der Einrichtung, in einem Team des Mitarbeiter haben, usw.

Flexibilität

Um es sich in der Anwendung einfach zu machen, kann man Rechte immer für alle Entitäten bestimmen, die irgendwie betroffen sind. Eine Mitarbeiterrolle lesen oder schreiben zu können kann somit immer von dem Mitarbeier und der Rolle abhängen. Die Autorisierer können dann bestimmen, ob sie das Recht auf Mitarbeiterebene, auf Rollenebene, oder für eine Kombination der beiden vergeben.

Diese Flexibilität in der Rechtevergabe macht die Rechtebestimmung in der Anwendung wesentlich leichter, weil die Anwendung sich keine Gedanken darüber machen muss, wie ein Recht eventuell vergeben werden kann, bzw. wovon es abhängen kann, sondern einfach alles in das Recht rein wirft was vorhanden ist.

So wird es dann auch i.d.R. gemacht werden, weil es erstens auf Ebene der Anwendung einfacher ist, und den Autorisierern viel mehr Flexibilität bietet, wie sie das Recht letzt Enendes vergeben möchten.

Implizierte Rechte

Jetzt wird es richtig cool 8-). Die Anwendung, nicht die Autorisierer, kann bestimmen, welche Rechte andere implizieren. Wenn ich z.B. das Leserecht für alle Team Rollen eines Mitarbeiters habe, impliziert dieses Recht das Recht die Kopfdaten der betroffenen Teams lesen zu dürfen. Warum auch nicht? Wenn ich die Kopfdaten dieser Teams in den Mitarbeiter Stammdaten eh lesen darf, warum dann nicht auch an anderen Stellen, z.B. in der Übersicht aller Teams.

Da das Autorisierungs-Framework für jede Rechteanfrage antwortet mit genehmigt, nicht genehmigt und bedingt genehmigt, kann man dem Mitarbeiter in der Liste der Teamrollen anzeigen, dass die Liste u.U. unvollständig ist, weil sie nur bedingt genehmigt ist, falls nur die Teams der Mitarbeiter angezeigt werden, für die der User Leserechte auf die Teamzuordnung hat.

Dabei prüft der Autorisierer immer erst die direkt vergebenen Rechte, danach die implizierten Rechte, weil die direkt vergebenen Rechte meist, wenn nicht immer, einfacher, bzw. schneller genehmigt werden.

TPSR Applikation

Mandant: TPSRAERM.EntityTypes.Tenant

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
Fehlanzeige

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.Tenant.TenantWritePriv

Domäne: TPSRAERM.EntityTypes.TenantDomain

Hinweis: Das gehört eigentlich in die Authenfizierung

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
Fehlanzeige

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.TenantDomain.TenantDomainWritePrivTPSRAERM.EntityTypes.Tenant

Mitarbeiter: TPSRAERM.EntityTypes.StaffMember

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.StaffMember.StaffMemberIdentifierReadPriv
TPSRPrivilege.StaffMember.StaffMemberDetailsReadPriv

Schreibrechte

Rechtabweichende Bezugsentität Implizierte Rechte
TPSRPrivilege.StaffMember.NewStaffMemberPrivTPSRAERM.EntityTypes.Tenant
TPSRPrivilege.StaffMember.StaffMemberWritePriv
TPSRPrivilege.StaffMember.DeactivatePriv

Teams: TPSRAERM.EntityTypes.Team

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.Team.TeamIdentifierReadPriv
TPSRPrivilege.Team.TeamDetailsReadPriv

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.Team.NewTeamPrivTPSRAERM.EntityTypes.Tenant
TPSRPrivilege.Team.TeamWritePriv
TPSRPrivilege.Team.AdministerClientsOfTeamPriv

Klienten: TPSRAERM.EntityTypes.Client

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.Client.ClientHeadDataReadPriv
TPSRPrivilege.Client.ClientDetailsReadPriv

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.Client.NewClientPrivTPSRAERM.EntityTypes.Tenant
TPSRPrivilege.Client.ClientWritePriv
TPSRPrivilege.Client.AdministerClientsOfTeamPriv

Selbstbewertung: TPSRAERM.EntityTypes.SelfQuestionnaire

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.SelfQuestionnaire.SelfQuestionnaireHeadDataReadPriv
TPSRPrivilege.SelfQuestionnaire.SelfQuestionnaireContentReadPriv

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.SelfQuestionnaire.StartSelfQuestionnairePrivTPSRAERM.EntityTypes.Client
TPSRPrivilege.SelfQuestionnaire.SelfQuestionnaireHeadDataWritePriv
TPSRPrivilege.SelfQuestionnaire.FillOutSelfQuestionnairePriv

Fremdbewertung: TPSRAERM.EntityTypes.ReferenceQuestionnaire

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.ReferenceQuestionnaire.ReferenceQuestionnaireHeadDataReadPriv
TPSRPrivilege.ReferenceQuestionnaire.ReferenceQuestionnaireContentReadPriv

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.ReferenceQuestionnaire.StartReferenceQuestionnairePrivTPSRAERM.EntityTypes.ClientDas Recht eine Bewertung für einen Klienten zu starten. Dabei muss man auch das Recht haben, den Mitarbeiter dazu anzugeben. Man könnte daraus 2 Rechte machen, aber Autorisierer können die Bezugsentitäten getrennt autorisieren, wenn sie möchten
TPSRAERM.EntityTypes.StaffMember
TPSRPrivilege.ReferenceQuestionnaire.ReferenceQuestionnaireHeadDataWritePriv
TPSRPrivilege.ReferenceQuestionnaire.FillOutReferenceQuestionnairePriv

Team Rollen: TPSRAERM.EntityTypes.TeamRole

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.TeamRole.TeamRoleIdentifierReadPriv
TPSRPrivilege.TeamRole.TeamRoleDetailsReadPriv

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.Tenant.NewTeamRolePrivTPSRAERM.EntityTypes.Tenant
TPSRPrivilege.TeamRole.TeamRoleWritePriv

Betreuer Rollen: TPSRAERM.EntityTypes.CustodianRole

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.CustodianRole.CustodianRoleIdentifierReadPriv
TPSRPrivilege.CustodianRole.CustodianRoleDetailsReadPriv

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.Tenant.NewCustodianRolePrivTPSRAERM.EntityTypes.Tenant
TPSRPrivilege.CustodianRole.CustodianRoleWritePriv

Mitarbeiter-Einrichtungsrollen Zuordnung: keine eigene Entität im AERM ((Authorization Entity Relationship Model))

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.AssignedTenantRole.StaffTenantRoleReadPrivTPSRAERM.EntityTypes.StaffMember

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.AssignedTenantRole.StaffTenantRoleWritePrivTPSRAERM.EntityTypes.StaffMember

Mitarbeiter-Teamrollen Zuordnung: keine eigene Entität im AERM ((Authorization Entity Relationship Model))

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.AssignedTeamRole.StaffTeamRoleReadPrivTPSRAERM.EntityTypes.StaffMember
TPSRPrivilege.AssignedTeamRole.TeamStaffRoleReadPrivTPSRAERM.EntityTypes.Team

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.AssignedTenantRole.StaffTeamRoleWritePrivTPSRAERM.EntityTypes.StaffMember
TPSRPrivilege.AssignedTenantRole.TeamWithTeamRoleWritePrivTPSRAERM.EntityTypes.Team
TPSRAERM.EntityTypes.TeamRole

Mitarbeiter-Betreuer Zuordnung: keine eigene Entität im AERM ((Authorization Entity Relationship Model))

Leserechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.AssignedCustodianRole.ClientCustodianRoleReadPrivTPSRAERM.EntityTypes.Client
TPSRPrivilege.AssignedCustodianRole.StaffCustodianRoleReadPrivTPSRAERM.EntityTypes.StaffMember

Schreibrechte

Rechtabweichende BezugsentitätBescheibungImplizierte Rechte
TPSRPrivilege.ClientCustodianRoleWritePriv.StaffTenantRoleWritePrivTPSRAERM.EntityTypes.Client
TPSRAERM.EntityTypes.CustodianRole
TPSRPrivilege.AssignedCustodianRole.StaffCustodianRoleWritePrivTPSRAERM.EntityTypes.StaffMember

TPSR Authentifizierung

TPSR Autorisierung

1) privilege
2) schreiben
applications/tpsr_privileges.txt · Last modified: 2017/01/10 11:39 by rtavassoli