Hallo
Folgendes Problem: Ich lasse eine Seite in gewissen Abständen cachen, um die Datenbankzugriffe zu verringern und die Auslastung der Datenbank im Zaum zu halten.
Jetzt gibt es auf der Seite aber verschiedene Zugriffsrechte. User können Comments verfassen und ihre eigenen editieren, Moderatoren können alle editieren und auch löschen, Admins können User bannen und so weiter, eine normale Communityverwaltung eben.
Die entsprechenden Optionen befinden sich als Links unter jedem einzelnen Beitrag eines Users. Ist ein Comment unangebracht, kann ein Mod es gleich per Klick auf den link löschen.
Wenn man die Seite nun aber cached, sehen die normalen User auch die Links fürs bannen und löschen, das Cachen erzeugt ja eine HTML-Seite für alle.
Bemerkung: Es geht nicht darum, dass normale User nun den Ban-Link sehen und damit herumspielen, falls die darauf klicken wirds natürlich durch das Rechtesystem abgefangen! Das ganze ist eher optischer Natur, ein Schönheitsfehler eben.
Am besten wäre es, wenn jede Benutzergruppe nur die für sie relevanten Optionen angezeigt bekommt.
Man könnte für jede Gruppe eine eigene Seite cachen, in der die passenden Links angezeigt werden. Allerdings funktioniert dies bei der untersten Usergruppe nicht, denn diese sollen ja nur bei ihren eigenen Beiträgen den Editier-Button finden, nicht auch bei den anderen Usern. Cached man aber die Seite, hätte jeder User auch bei fremden Beiträgen den Editierlink.
Wie könnte man also, ohne weiter Performance zu rauben, so lösen, das jeder User trotz Caching nur unter seinen eigenen Beiträgen Editier-Links findet?
mfg
Folgendes Problem: Ich lasse eine Seite in gewissen Abständen cachen, um die Datenbankzugriffe zu verringern und die Auslastung der Datenbank im Zaum zu halten.
Jetzt gibt es auf der Seite aber verschiedene Zugriffsrechte. User können Comments verfassen und ihre eigenen editieren, Moderatoren können alle editieren und auch löschen, Admins können User bannen und so weiter, eine normale Communityverwaltung eben.
Die entsprechenden Optionen befinden sich als Links unter jedem einzelnen Beitrag eines Users. Ist ein Comment unangebracht, kann ein Mod es gleich per Klick auf den link löschen.
Wenn man die Seite nun aber cached, sehen die normalen User auch die Links fürs bannen und löschen, das Cachen erzeugt ja eine HTML-Seite für alle.
Bemerkung: Es geht nicht darum, dass normale User nun den Ban-Link sehen und damit herumspielen, falls die darauf klicken wirds natürlich durch das Rechtesystem abgefangen! Das ganze ist eher optischer Natur, ein Schönheitsfehler eben.
Am besten wäre es, wenn jede Benutzergruppe nur die für sie relevanten Optionen angezeigt bekommt.
Man könnte für jede Gruppe eine eigene Seite cachen, in der die passenden Links angezeigt werden. Allerdings funktioniert dies bei der untersten Usergruppe nicht, denn diese sollen ja nur bei ihren eigenen Beiträgen den Editier-Button finden, nicht auch bei den anderen Usern. Cached man aber die Seite, hätte jeder User auch bei fremden Beiträgen den Editierlink.
Wie könnte man also, ohne weiter Performance zu rauben, so lösen, das jeder User trotz Caching nur unter seinen eigenen Beiträgen Editier-Links findet?
mfg
Kommentar