Ich habe das mehrmals ohne Glück versucht. Nach dem Lesen diesem Post , es hat mich daran interessiert, dies wieder zu tun. Kann mir also jemand sagen, warum das Folgende nicht funktioniert?
%Vor%Verwenden Sie den bitweisen ODER-Operator (|), um Bits zu setzen, und verwenden Sie den UND-Operator (& amp; ampl;) zum Überprüfen von Bits. Ihr Code sollte folgendermaßen aussehen:
%Vor%Wenn Sie nicht genau verstehen, was binäre Operatoren tun, sollten Sie es lernen. Du wirst verstehen, wie du das viel besser machen kannst.
Im Interesse, das Rad nicht neu zu erfinden, werfen Sie einen Blick auf ACL / Authentifizierungssysteme wie Zend ACL und Zend Auth ? Beide können unabhängig vom gesamten Zend Framework verwendet werden. Access Control ist eine knifflige Situation, so dass es sich lohnt, zumindest zu schauen, wie andere Systeme es tun.
Es ist schon lange her, dass ich PHP benutzt habe, aber ich gehe davon aus, dass das funktioniert:
%Vor%Ich habe dies bei der Fehlerberichterstattung verwendet und es funktioniert ganz gut. Wie für Benutzerberechtigungen sollte es sehr gut funktionieren - Sie könnten mehrere Spalten für jede Benutzerberechtigung in Ihrer Datenbank oder eine Benutzerspalte in Ihrer Datenbank haben. Gehen Sie für diese Option.
Super, das scheint die beste Möglichkeit zu sein, Berechtigungen in einem CMS zu machen. Ja? Nein?
Vielleicht habe ich das nie wirklich so gemacht. Was ich getan habe, ist Bit-Operator verwendet, um eine ganze Reihe von "Ja oder Nein" Einstellungen in einer einzigen Zahl in einer einzigen Spalte in der Datenbank zu speichern.
Ich denke, für Berechtigungen würde diese Methode gut funktionieren, wenn Sie Berechtigungen in der Datenbank speichern möchten. Wenn jemand Inhalte veröffentlichen möchte und nur Admins und Redakteure sehen möchten, müssen Sie nur das Ergebnis von
speichern %Vor%in die Datenbank, dann um es zu überprüfen, machen Sie etwas wie
%Vor%Meiner Meinung nach ist das nicht gut skalierbar. Ich habe es nicht wirklich versucht, es in einem groß angelegten Projekt zu verwenden, aber ein CMS klingt viel zu kompliziert, um dies zu verwenden.
Es kommt immer darauf an, was Sie brauchen. Wenn du das Zend Framework bereits kennst, würde ich den Zend_Acl / _Auth-Vorschlag, der früher gemacht wurde, absegnen. Aber denken Sie daran, dass jeder Rahmen wahrscheinlich mit einer ähnlichen Komponente ausgestattet ist.
Die andere Sache, die Ihnen in den Sinn kommt, ist LiveUser . Ich arbeite auch gerne mit ihnen.
Ich denke, du kannst so ziemlich alles machen, und während deine Herangehensweise sehr einfach aussieht, ist sie auch begrenzt, da du (durch all diese if ()) viel von der ACL-Logik in die Mitte deiner setzen wirst Anwendung. Was nicht das Größte ist, um es einfach und erweiterbar zu halten. ;)
Tags und Links php permissions