Verständnisfrage Sichtbarkeits-Berechtigungen

Hier finden sich Fragen und Ergänzung zur Dokumentation. // All questions and discussions about the documentation.
Thalo
Beiträge: 247
Registriert: 10.08.2009, 16:56:52

Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von Thalo » 18.07.2013, 20:00:04

Hallo,

in der Dokumentation/Wiki steht:
Sichtbarkeits-Berechtigungen regeln den Zugriff auf ein Objekt. Hat ein Benutzer oder ein Benutzer über seine Gruppe die Sichtbarkeits-Berechtigung auf ein Objekt, so kann er dieses in einer Oberfläche sehen. Welche Aktionen für den Benutzer mit dem Objekt verknüpft sind, regelt die im nächsten Kapitel beschriebene Funktions-Berechtigung.
Die Kombination aus Funktions- und Sichtbarkeits-Berechtigung stellt die Basis für eine flexible und skalierbare Benutzer-Verwaltung, die eine Unterscheidung zwischen dem reinen Zugriff auf ein Objekt sowie die Aktionen (Bearbeiten, Löschen, Verknüpfen, ...), die mit einem Objekt verknüpft sind ermöglicht.
Dennoch werden Lese, Schreib und Lösch-Berechtigungen über Sichtbarkeits-Berechtigungen abgebildet (Siehe: http://adventure-php-framework.org/Seit ... inzufuegen). Gehört das nicht eher zu den Funktions-Berechtigungen? :?

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von dr.e. » 19.07.2013, 00:42:59

Hallo Thalo,

das Konzept der Sichtbarkeits-Berechtigungen wurde mit der Zeit weiterentwickelt und ist inzwischen eher ein Zugriffs-Berechtigung. Als Abgrenzung dazu kannst du Funktionsberechtigungen nutzen um Funktionen innerhalb der Anwendung für einen Benutzer verfügbar zu machen oder eben nicht.

Klingt vielleicht etwas verwirrend, dadurch bist du aber in der Lage einem Benutzer z.B. ein Objekt anzuzeigen (Lese-Berechtigung), dieses jedoch nicht bearbeiten zu lassen (Kontext-Menü "Bearbeiten" ist deaktiviert).

Hoffe das hilft dir weiter! :)
Viele Grüße,
Christian

Thalo
Beiträge: 247
Registriert: 10.08.2009, 16:56:52

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von Thalo » 19.07.2013, 02:49:40

Hallo Doc,
Klingt vielleicht etwas verwirrend, dadurch bist du aber in der Lage einem Benutzer z.B. ein Objekt anzuzeigen (Lese-Berechtigung), dieses jedoch nicht bearbeiten zu lassen (Kontext-Menü "Bearbeiten" ist deaktiviert).
Das kann ich doch mit Funktions-Berechtigungen und „flachen“ Sichtbarkeits-Berechtigungen (darf Objekt sehen Ja/Nein) auch (so wie vorher). Inwiefern ist Weiterentwicklung nun besser? :)

Oder soll das eher eine Trennung zwischen Objekt/Applikations-Berechtigung sein? Wäre es nicht besser variable Berechtigungen für Objekte anzulegen als nur die 4 jetzigen?

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von jwlighting » 19.07.2013, 11:52:19

Die Sichtbarkeitsberechtigungen kennen ja Typen (für jeden Typ von Objekt) und die eigentlichen Berechtigungen, die du dann einer ID des Objektes zuordnest. Über die Objekt-ID wird also eine VErbindung zwischen der Berechtigung und dem Objekt hergestellt.
Die Funktionsberechtigungen beziehen sich dann, wie du schon richtig erkannt hast, auf Aktionen/Funktionen in der Anwendung.
Wäre es nicht besser variable Berechtigungen für Objekte anzulegen als nur die 4 jetzigen?
Da gebe ich dir Recht. Denn je nach Anwendungen braucht man schnell andere, weniger oder mehr Berechtigungen also Lesen, Bearbeiten, usw.

LG :)

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von dr.e. » 19.07.2013, 19:37:13

Hallo ihr beiden,
Das kann ich doch mit Funktions-Berechtigungen und „flachen“ Sichtbarkeits-Berechtigungen (darf Objekt sehen Ja/Nein) auch (so wie vorher). Inwiefern ist Weiterentwicklung nun besser? :)
Das kannst du ja auch tun. Wenn du nur die Qualität "lesen" bei den Sichtbarkeitsberechtigungen nutzt und den Rest über Funktionsberechtigungen abbildest erreichst du genau das. Das UMGT versucht möglichst alle Anwendungsfälle abzudecken und hat damit an dieser Stelle eine (vermeindliche) Redundanz.
Oder soll das eher eine Trennung zwischen Objekt/Applikations-Berechtigung sein?
Das kannst du darüber schon abbilden, ist es aber im Grunde eher nicht. Die Berechtigungen sind Funktions-Berechtigungen werden Rollen-bezogen zugewiesen, die Sichtbarkeits-Berechtigungen über Gruppen oder direkt Benutzer. Das ist schon eine andere Qualität.
Wäre es nicht besser variable Berechtigungen für Objekte anzulegen als nur die 4 jetzigen?
Meiner Ansicht nach gibt es nicht wirklich mehr Möglichkeiten was du mit einem Objekt im CRUD-Sinne anstellen kannst.
Viele Grüße,
Christian

Thalo
Beiträge: 247
Registriert: 10.08.2009, 16:56:52

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von Thalo » 20.07.2013, 05:28:10

Hi,
dr.e. hat geschrieben:Das kannst du darüber schon abbilden, ist es aber im Grunde eher nicht. Die Berechtigungen sind Funktions-Berechtigungen werden Rollen-bezogen zugewiesen, die Sichtbarkeits-Berechtigungen über Gruppen oder direkt Benutzer. Das ist schon eine andere Qualität.
Also mein Verständnis ist, und anscheinend auch das von jwlighting:
Sichtbarkeits-Berechtigung/Gruppe: Spezifisches Objekt
Funktions-Berechtigung/Rolle: Applikation
dr.e. hat geschrieben:Meiner Ansicht nach gibt es nicht wirklich mehr Möglichkeiten was du mit einem Objekt im CRUD-Sinne anstellen kannst.
Um dich selbst zu zitieren:
dr.e. hat geschrieben:z.B. einem Benutzer in einem CMS Rechte auf einen Inhalt zu geben, den er auch bearbeiten kann, nur online stellen ist ihm untersagt.

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von jwlighting » 20.07.2013, 11:29:52

Also mein Verständnis ist, und anscheinend auch das von jwlighting:
Sichtbarkeits-Berechtigung: Spezifisches Objekt
Funktions-Berechtigung: Applikation
Mit den Änderungen im Zitat stimme ich dir zu ;) So habe ich das bisher auch verstanden und gehandhabt.
Meiner Ansicht nach gibt es nicht wirklich mehr Möglichkeiten was du mit einem Objekt im CRUD-Sinne anstellen kannst.
Ne, im CRUD-Sinne nicht, da hast du Recht :D
Aber Aktionen mit Objekten sind in den wenigsten Anwendungen auf CRUD begrenzt, z.B. gäbe es da auch noch kopieren, veröffentlichen, freigeben, verknüpfen, Änderungsrechte für einzelne Attribute (z.B. könnte ein Verkäufer die Produktbeschreibung anpassen dürfen, aber nicht den Preis des Produktes), ...

Ich stelle es mir nicht sonderlich schwierig vor, die Qualitäten von Berechtigungen für jeden Sichtbarkeitsberechtigungstyp definieren zu können und damit alle Freiheiten zu ermöglichen.

LG :)

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von dr.e. » 21.07.2013, 12:40:48

Magst du mal einen Vorschlag machen, wie das UMGT das dann handhaben könnte? Ich persönlich sehe die aktuelle Implementierung als gute Lösung.
Viele Grüße,
Christian

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von jwlighting » 21.07.2013, 16:12:28

Stimmt schon - klingt einfacher als es ist.

Wir haben momentan:
ent_appproxy
ent_appproxytype
... und die Beziehung dazwischen:
ass_appproxy2appproxytype

Dazu brauchen wir noch (über Naming kann man bekanntlich noch diskutieren ;)):
ent_appproxyquality
... und die Beziehung zu einem Typ, die definiert, welche Qualitäten von Berechtigungen für einen Typ definiert sind:
ass_appproxytype2appproxyquality

Jetzt wirds kompliziert - mit den Möglichkeiten des GORM zumindest.
Könnten wir bei der Beziehung von Approxy zu User/Gruppe eine kommaseparierte Liste mit allen ausgewählten Approxy-Qualitäten anlegen wäre das jetzt leicht. Geht aber nunmal nicht.

Mir fällt auch gerade keine Möglichkeit, eine Beziehung zwischen 3 Objekttypen mit dem GORM zu realisiseren! Denn Approxy, Approxyquality und User/Group müssen zusammen
Kurz gesagt: Hier komme ich nicht mehr weiter... :shock: :roll:

Kann der GORM sowas überhaupt? :p
Ich persönlich sehe die aktuelle Implementierung als gute Lösung.
Ist sie auch. Reicht nur halt nicht für alle Anwendungsfälle. Ich stand auch schon vor dem Problem. Besser geht halt immer :D

LG :)
Jan

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Thalo
Beiträge: 247
Registriert: 10.08.2009, 16:56:52

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von Thalo » 21.07.2013, 20:03:24

Hi,
jwlighting hat geschrieben:Dazu brauchen wir noch (über Naming kann man bekanntlich noch diskutieren ;)):
ent_appproxyquality
... und die Beziehung zu einem Typ, die definiert, welche Qualitäten von Berechtigungen für einen Typ definiert sind:
ass_appproxytype2appproxyquality
Statt den AppProxyType direkt mit der Qualität ist es IMHO. flexibler die Qualität mit dem AppProxy zu aggregieren. Sonst hast du nur eine Qualität für einen bestimmten Type und nicht ein spezifisches Objekt.
jwlighting hat geschrieben:Jetzt wirds kompliziert - mit den Möglichkeiten des GORM zumindest.
Könnten wir bei der Beziehung von Approxy zu User/Gruppe eine kommaseparierte Liste mit allen ausgewählten Approxy-Qualitäten anlegen wäre das jetzt leicht. Geht aber nunmal nicht.
In SQL wäre es ja nicht anders als nun über den GORM, also ein Join nur direkt zwischen 2 Beziehungen. Die Implementierung wäre doch dann ähnlich dem Rollen-Konzept. :? Oder versteh ich dein Problem falsch?

Edit: Die Beziehung im UML ist falsch! Sollte eigentlich wie oben beschrieben. :)
Dateianhänge
Main.jpg
Main.jpg (23.39 KiB) 3034 mal betrachtet

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von dr.e. » 22.07.2013, 19:24:27

Hallo ihr beiden,

das UML verstehe ich nicht. Wir wollen doch eine AppProxy-Instanz hinsichtlich der Qualität des Zugriffs kennzeichnen, richtig? Dann sollte die Beziehung/Klassifizierung doch zwischen AppProxy und AppProxyQuality verlaufen... :roll:
Viele Grüße,
Christian

Thalo
Beiträge: 247
Registriert: 10.08.2009, 16:56:52

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von Thalo » 22.07.2013, 19:33:23

Hallo Doc,
dr.e. hat geschrieben:Hallo ihr beiden,

das UML verstehe ich nicht. Wir wollen doch eine AppProxy-Instanz hinsichtlich der Qualität des Zugriffs kennzeichnen, richtig? Dann sollte die Beziehung/Klassifizierung doch zwischen AppProxy und AppProxyQuality verlaufen... :roll:
Genau das habe ich doch geschrieben? :geek:
Thalo hat geschrieben:
jwlighting hat geschrieben:Dazu brauchen wir noch (über Naming kann man bekanntlich noch diskutieren ;)):
ent_appproxyquality
... und die Beziehung zu einem Typ, die definiert, welche Qualitäten von Berechtigungen für einen Typ definiert sind:
ass_appproxytype2appproxyquality
Statt den AppProxyType direkt mit der Qualität ist es IMHO. flexibler die Qualität mit dem AppProxy zu aggregieren. Sonst hast du nur eine Qualität für einen bestimmten Type und nicht ein spezifisches Objekt.
Thalo hat geschrieben:Edit: Die Beziehung im UML ist falsch! Sollte eigentlich wie oben beschrieben. :)
Dateianhänge
Main.jpg
Main.jpg (21.79 KiB) 3017 mal betrachtet

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von jwlighting » 23.07.2013, 18:21:20

Statt den AppProxyType direkt mit der Qualität ist es IMHO. flexibler die Qualität mit dem AppProxy zu aggregieren. Sonst hast du nur eine Qualität für einen bestimmten Type und nicht ein spezifisches Objekt.
Die Bindung der Qualität an ein konkretes Objekt macht meiner Meinung nach wenig Sinn, weil ich dann nirgends definiere, welche Qualitäten für einen Objekttyp vorgesehen/sinnvoll sind.
Bei der Bindung zwischen Qualität der Sichtbarkeit und Objekttyp ging es mir also darum, durch die Beziehung zu definieren, welche Sichtbarkeitsqualitäten für einen bestimmten Objekttyp überhaupt möglich sind, und nicht um das Vorhandensein einer Berechtigung für einen bestimmten User
Es macht z.B. wenig Sinn, den Preis für einen Newsartikel ändern zu dürfen - bei den Berechtigungen für ein Produkt macht das sehrwohl Sinn. ;)

In SQL wäre es ja nicht anders als nun über den GORM, also ein Join nur direkt zwischen 2 Beziehungen. Die Implementierung wäre doch dann ähnlich dem Rollen-Konzept. :? Oder versteh ich dein Problem falsch?
Ich hab das jetzt nicht nachvollzogen :D

Wenn wir Abspeichern wollen, welche Berechtigungen ein User/ eine Gruppe hat, dann müssen wir jetzt also 3 Dinge zusammen kriegen:

1) den User oder die Gruppe
2) die Art der Berechtigung (Qualität)
3) für welches Objekt die Berechtigung gilt

Durch eine (!) einfache Beziehung lässt der GORM das nicht mehr zu. Dazu müsste man AFAIK ein Objekt "Vergebene Sichtbarkeit" anlegen, welches dann 3 Beziehungen zu den oben genannten Objekten hat, also ganze 4 Tabellen. :roll:

Nochmal kurz, worunter ich jetzt was verstehe:
AppProxyType / Objekttyp: Art eines Objektes, z.B. News-Artikel, Produkt, ...
AppProxy / Objekt: konkretes Objekt:, z.B. News mit ID #42 oder Produkt mit ID #21
AppProxyQuality / Sichtbarkeitsqualität: Art der Berechtigung, z.B. lesen, schreiben, löschen, Preis ändern, veröffentlichen, ...

LG :)
Jan

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Thalo
Beiträge: 247
Registriert: 10.08.2009, 16:56:52

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von Thalo » 25.07.2013, 16:51:09

Push :?

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: Verständnisfrage Sichtbarkeits-Berechtigungen

Beitrag von jwlighting » 25.07.2013, 18:38:53

Vielleicht sagst du mal was dazu? ;)

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast