In meiner benutzerdefinierten Komponente möchte ich bestimmte Ansichten nur auf bestimmte Benutzergruppen beschränken können. Wenn ich einen Menüpunkt für eine meiner Ansichten erstelle, ist das ziemlich einfach: Ich wähle einfach die Zugriffsebene für diesen Menüpunkt aus und bin fertig.
Das Problem tritt nun auf, wenn jemand versucht, direkt auf eine URL mit der Option = com_mycomponent zuzugreifen, oder eine der internen Umleitungen meiner Komponente zu einer Seite ohne zugewiesene Itemid wechselt. In diesem Fall ist es die Komponente selbst, die benötigt wird um die Benutzergruppe zu überprüfen und festzustellen, ob diese Seite angezeigt werden kann ... wie kann ich das in meinem Code einschränken? Nur eine einfache fest codierte Überprüfung der Benutzergruppe des Benutzers? Oder gibt es einen "Standard" Weg dafür?
Ich habe die Dokumentation überprüft und Folgendes festgestellt:
http://docs.joomla.org/J2.5:How_to_implement_actions_in_your_code
Aber das ist für das, was der Benutzer tun kann, nicht für das, was der Benutzer sehen kann. Ich habe auch diesen Forenthread gefunden:
http://forum.joomla.org/viewtopic.php?t=530721
Der Code am Anfang ist ziemlich alt, aber am Ende wird empfohlen, Folgendes zu verwenden:
http://api.joomla.org/cms-3/classes/JUser.html#method_authorise
Wie soll ich dafür vorgehen? Sollte ich Assets für das von meiner Ansicht generierte Hauptobjekt definieren, damit ich den Zugriff mit JUser darauf testen kann?
Danke im Voraus.
quelle
Hier ist der Code, den Sie benötigen, um zu zeigen, in welchen Gruppen sich ein Benutzer befindet.
quelle
Wahrscheinlich die späte Antwort auf diese Frage. Aber hier ist was ich verwendet habe:
In der Hauptdatei controller.php habe ich die Anzeigefunktion wie folgt überschrieben:
quelle