Ich habe versucht, dies mehrmals ohne Glück zu tun. Nachdem ich diesen Beitrag gelesen habe, hat es mich interessiert, dies erneut zu tun. Kann mir also jemand sagen, warum das Folgende nicht funktioniert?
Antworten
Zu viele Anzeigen?Toll, das scheint der beste Weg zu sein, um Berechtigungen in einem CMS zu verwalten. Ja? Nein?
Vielleicht, ich habe es noch nie so gemacht. Was ich gemacht habe, ist bitweise Operatoren zu verwenden, um eine ganze Reihe von "ja oder nein" Einstellungen in einer einzigen Zahl in einer einzelnen Spalte in der Datenbank zu speichern.
Ich denke, für Berechtigungen würde dieser Weg gut funktionieren, wenn man Berechtigungen in der Datenbank speichern möchte. Wenn jemand einen Inhalt veröffentlichen möchte und nur möchte, dass Admins und Editoren ihn sehen, muss man einfach das Ergebnis von
($editor | $admin)
in die Datenbank speichern und dann zur Überprüfung so etwas machen wie
if ($user & $database_row['permissions']) {
// Inhalt anzeigen
} else {
// Berechtigungsfehler anzeigen
}
Es hängt immer davon ab, was du brauchst. Wenn du das Zend Framework bereits kennst, würde ich der Empfehlung für Zend_Acl/_Auth zustimmen, die bereits gemacht wurde. Aber denke daran, dass wahrscheinlich jedes Framework mit einem ähnlichen Komponente geliefert wird.
Das andere, was mir in den Sinn kommt, ist LiveUser. Ich arbeite auch gerne damit.
Ich denke, du kannst so ziemlich alles machen und obwohl dein Ansatz sehr einfach aussieht, ist er auch begrenzt, da du (durch all diese if()'s) einen Großteil der ACL-Logik direkt in die Mitte deiner Anwendung einfügst. Das ist nicht das Beste, um es einfach und erweiterbar zu halten. ;)
- See previous answers
- Weitere Antworten anzeigen