J'essaie d'ajouter Symfony 2.0 ACL à mon application PHP sans cadre. En raison du manque de documentation sur la manière d'utiliser la composante de sécurité en tant que autonome, j'ai totalement confus et que j'ai été bloqué de questions: quelle classe inclure en premier? Quel objet à l'autre? Est-il possible d'être utilisé sans modèles ni contrôleurs? P>
Toute suggestion sur la façon de démarrer ou de tout bon lien? P>
merci p>
3 Réponses :
Quelle classe inclure en premier? strong> Vous devrez probablement inclure au moins des pièces si ce n'est pas tout le noyau de sécurité, puis dans lequel la mise en œuvre de l'ACL que vous souhaitez utiliser. Vous pouvez examiner les dépendances énumérées au début de la mise en œuvre de la LCA et voir ce qu'elles s'étendent. Par exemple, le mais vous auriez probablement besoin de vérifier chacun de ceux énumérés pour leurs dépendances et chargent également ceux-ci. P> Je ferais de retour dans les dépendances et gardez une trace de ce qui nécessite quoi. Cull ces classes dans un endroit distinct de sorte que vous n'avez que ce dont vous avez besoin et utilisez des erreurs de piégeage pour déterminer que vous avez tout. P> votre ACL. Si les dépendances sont toutes déterminées et chargées, vous devriez pouvoir instancier l'objet de la classe ACL. P> Pour être honnête, je ne suis pas sûr que l'utilisation d'ACL à l'extérieur de S2 est possible sans beaucoup de travail, mais si vous pouvez l'obtenir instancié avec tout ce dont il a besoin, vous devriez pouvoir utiliser l'objet sans MODE MVC. P> Malheureusement, d'après ce que je comprends de S2, c'est un cadre de pile complet et censé être une sorte de chose ou rien de rien. Mais si j'allais essayer de le faire fonctionner, ce serait la façon dont je voudrais y aller. p> p> acl / dbal code> a les dépendances suivantes appelées dans l'en-tête: p>
the SecurityServiceProvider pour SileX pourrait être un bon endroit pour commencer , comme il intègre tous les services essentiels des composants dans un fichier unique. Bien que grand, vous aurez probablement plus facile de digérer que SydMony2's SecurityBundle. P>
Dans l'intérêt de maintenir votre santé mentale, vous devez envisager d'utiliser un conteneur de service pour organiser tous ces objets. Dans la classe de fournisseur susmentionnée, la classe d'application SILEX est un pimple instance, vous devriez donc être capable de le porter de bouton autonome avec effort modeste. J'ai vu cela parce que l'intégration d'un conteneur de service de pimples dans votre application devrait être moins invasive que d'adopter le cadre SILEX. P>
Une fois que vous avez les classes de composants de sécurité essentielles travaillant, vous devriez être capable de suivre avec le Documentation ACL et ajoutez des services supplémentaires à votre conteneur au besoin. À ce stade, les sections SecurityBundle-Security peut s'avérer utiles, comme vous pouvez vous concentrer sur les bits pertinents. Gardez à l'esprit qu'il existe plusieurs entrées de recettes de recettes pour ACL dans la documentation. P>
Plus 1 pour tout, à l'écart du service [conteneur] localisateur anti-motif.
Si vous voulez comprendre comment utiliser Utiliser Symfony2 Composant et comment intégrer cela dans votre projet, lisez Fabien Potencier Blog 'Créez votre propre cadre' Post qui vous aidera certainement à comprendre le cœur du cadre et comment bootstrap Symfony2 composant de votre projet P>
Il existe également un bon document pour ACL sur le site Web de Symfony p>
La série de Fabien couvre un certain nombre de composants sous forme autonome, mais la composante de sécurité est visiblement absente.
Je suggérerais que le CA acl de Zend, car il provient d'un cadre lâchement couplé ou "colle", et S2 est une pile complète.