Je pense que Zend ACL est utilisé pour donner des permissions aux types d'utilisateurs (étudiant, enseignant). Peut-il être utilisé pour accorder des autorisations par contenu? Ce que je veux dire, c'est que cet article de blog a été écrit par cet utilisateur et qu'ils peuvent le modifier. D'autres ne peuvent pas le modifier. Zend ACL peut-il fonctionner avec cette exigence?Est-ce que Zend ACL est approprié pour les autorisations de contenu par le propriétaire?
Répondre
Oui le Zend ACL dans ZF peut être utilisé pour déterminer les droits du propriétaire et la configuration pour permettre au propriétaire du contenu d'éditer leurs propres messages, etc Je ne suis pas sûr si cet endroit a des exemples précis de ce que vous voulez. Tutoriels Zend ACL de zftutorials.com
MISE à JOUR
configuration de l'ACL peut se faire de plusieurs façons différentes selon la façon dont etc vos groupes sont configurés. Pour cette raison, il est difficile de fournir une façon claire de faire cela, mais l'essentiel est d'obtenir les permissions sur ce que chaque propriétaire peut faire. Ensuite, dans votre contrôleur où cette action a lieu vous auriez quelque chose comme:
if (!$this->_helper->acl->isAllowedOwn($author->user_id, 'content', 'edit')) {
Cela dira si cet auteur est autorisé à modifier leur propre contenu. Ces règles doivent être configurées d'une manière ou d'une autre, soit via un fichier de configuration ou un fichier xml, ce que le site zftutorials peut faire la lumière.
Si j'ai le temps de travailler sur un tutoriel, je le mettrai à jour ici. Mais oui, c'est un processus assez fastidieux de travailler sur un tutoriel avec ZF étant donné que tout le monde a différentes façons de faire les choses et les préférences, sans parler de tous les rouages nécessaires pour le configurer.
Mis à jour, j'espère que cela l'efface un peu. Vous voudrez peut-être aussi jeter un coup d'œil sur les objets «connexes» à droite, car il semblerait qu'ils se trouvent dans votre ruelle (http://stackoverflow.com/questions/2046608/practical-zend-acl-zend-auth-implementation -et-meilleures-pratiques) –
Vous pouvez create custom assertions for Zend_Acl. Ces assertions personnalisées peuvent être passées à la méthode normale allow()
en tant que quatrième paramètre, par ex.
$acl->allow(null, null, null, new MyCustomAssertion());
L'assertion peut contenir n'importe quel code. Il doit renvoyer un booléen qui sera pris en compte pour toutes les vérifications d'ACL, par ex. est ce userid accès autorisé à cette ressource avec ce privilège et qui contrôle personnalisé?
Une meilleure question aurait été "Comment puis-je permettre aux propriétaires de contenu d'éditer leur propre contenu?". –