Je connais des questions comme celle-ci aurait été posée de nombreuses fois, mais pas tout à fait celui-ci. Pardonne-moi si j'avais négligé un dupliqué évident. P>
Dans le noyau de plusieurs de mes applications Web est une classe de gestion d'utilisateur / session auto-écrite que dans ses origines remonte à 2002. J'ai décidé qu'il est temps de réécrire de manière fondamentale ou de préférence l'introduction d'une bibliothèque standard prête à l'emploi. P>
Mes exigences pour cette bibliothèque seraient: p>
et si c'est très em> générique, une API de gestion de l'utilisateur ou em> un connecteur générique à la gestion de l'utilisateur de l'application environnante serait bien: p>
Ceci est tellement basique, et donc la sécurité pertinente, que je m'attendrais à ce qu'il y ait une solution standard à cela, mais je n'en savais aucun, et tous les grands CMS et les blogs semblent être en train de rouler leur propre. p>
Mes deux questions: p>
Connaissez-vous un tel composant comme une bibliothèque STRAND> Générique STRAND>? p> li>
Quelqu'un pourrait-il avoir une connaissance approfondie dans Zend Framework forte> Dites-moi s'il est possible d'utiliser Zend_auth et / ou Zend_Session autonome em> au cœur d'une grande application Cela n'a aucune autre chose à voir avec zf, sans courir dans des ennuis? p> li>
ul>
4 Réponses :
Il existe plusieurs bibliothèques openid disponibles. p>
http://wiki.openid.net/libries#php p>
Pour le reste, vous pourriez aussi bien rouler le vôtre, puisque la bibliothèque de quelqu'un d'autre serait probablement plus de problèmes que cela ne vaut. P>
Merci pour le lien OpenID. Rolling my possède: une bibliothèque standard bien documentée doit être possible de comprendre assez rapidement. Mon espoir est qu'il y en a un.
Quelqu'un pourrait-il avoir une connaissance approfondie dans zend-cadre forte> me dire s'il est possible d'utiliser Zend_Auth et / ou Zend_Session autonome, au cœur d'une grande application qui n'a aucun autre à faire avec ZF, sans courir en difficulté? p> blockQuote>
Je n'ai pas la connaissance approfondie du cadre Zend, mais j'ai utilisé divers composants (par exemple Zend_Search) sans créer un objet Zend_Application ou à l'aide du cadre MVC et je suis sûr que le reste de la bibliothèque est également conçu pour être totalement modulaire. La dernière fois que j'ai creusé si le code Zend_Session, je n'ai trouvé aucune inclure en dehors de
zend / session / code>. Un rapide Google semblait confirmer ceci pour Zend_Auth, avec La FAQ Zend qui indique: P>
est ZF une bibliothèque de composants ou un cadre? strong>
Réponse simple: les deux. Zend Framework fournit tous les composants nécessaires à la plupart des applications Web dans une seule distribution. mais Zend Frameworc composants sont également couplés de manière lâche, ce qui facilite l'utilisation de quelques composants dans une application Web - même aux côtés d'autres cadres! EM> Utilisation de cette architecture Use-At-Will, nous mettons en œuvre des fonctionnalités communément trouvées dans des cadres plus monolithiques. En fait, nous travaillons actuellement sur une composante d'outils pour la version 1.8 qui facilitera la création d'applications utilisant des composants ZF, mais ne sacrifiera pas la nature utile des composants ZF existants. C'est un témoignage de l'architecture à usage de Zend-Will que le composant d'outillage lui-même peut être utilisé autonome. P> blockQuote>La seule chose que je devais faire lorsque vous n'utilisez pas Zend_Search avec le framework MVC, ajoutez le répertoire dans lequel vous avez installé le cadre ZEND dans le chemin Inclure en raison de la société Inclus dans la bibliothèque Zend. La documentation ne documente pas l'inclusion dont vous n'avez besoin lorsque vous n'utilisez pas l'autochargeur Zend, mais que tout utilise le schéma de nommage de la classe de piles, il est facile de déduire des noms de classe que vous utilisez. (Donc, la classe
foo_bar_file code> vous obligerait à inclurefoo / bar / fichier.php code>) p>
Merci pour le yacoby de réponse. Je pense que je vais le plonger et donner à ZF un essai.
Ma compréhension est qu'il n'y a pas de bibliothèque standard car il n'y a pas de définition standard de ce qu'un utilisateur est. p>
Dans certaines de mes applications, les utilisateurs se connectent simplement à faire des choses. Dans d'autres, les utilisateurs font partie d'une entreprise et de leurs autorisations et d'accès aux données sont limitées par les limites de cette société et le niveau d'abonnement payé par la Société. Dans d'autres applications, certains utilisateurs sont des admins avec accès à tout, certains utilisateurs sont des administrateurs avec accès à certaines données (niveau de ligne) et d'autres utilisateurs sont les clients de ces administrateurs, avec accès uniquement à leurs propres données. Certains utilisateurs sont liés aux entreprises / entreprises / clients, d'autres utilisateurs ne sont pas. Certains utilisateurs ne sont qu'un nom d'utilisateur et un mot de passe, d'autres sont un graphique d'objet important avec des clients, des histoires de commandes, des préférences de rapport, des commentaires, etc. p>
Peut-être que je me trompe et il y a un moyen propre de suppression de toutes ces exigences dans un système qui ne nécessite pas cinq couches de sous-classement et un millier de classes de db pour connecter quelqu'un dans. Je ne l'ai pas trouvé cependant. < / p>
Je pense que tu me lisais tort. Je suis pas i> parler de tout type de gestion de contrôle d'accès. Je ne parle que des faits de base: les journaux des utilisateurs sont des journaux d'utilisateur. Peut-être que l'utilisateur change son mot de passe. Rien d'autre. Je me trompe peut-être bien sûr, mais de mon expérience est extrêmement bas et devrait être à peu près normalisable.
Je suppose que je ne comprends toujours pas. Quel est le point de connecter un utilisateur si cela ne vous donne pas le contrôle d'accès? N'est-ce pas ce que signifie "connecté"?
Je n'ai besoin que d'une API générique qui, selon l'essence, me dit que l'utilisateur connecté est (c'est-à-dire quels identifiants il ou elle est connecté avec). Le reste (= contrôle d'accès, vérifiant si elles sont autorisées à effectuer l'action demandée, etc.) apparaîtraient à l'application Web. L'API sait uniquement que l'utilisateur avec l'ID 123 est connecté au système. Cela peut faire des choses avec cet utilisateur (logez-les, déconnectez-les ...) mais rien d'autre.
Puis-je suggérer la bibliothèque d'authentification que j'ai écrite? C'est une bibliothèque générique (non écrite ou une partie d'un cadre): http://ulogin.sourceforge.net p>
github.com/auraphp/aura.auth . Si vous avez besoin de vous pouvez envelopper sur Github.com/Auaphp/aura.session . Peut aider quelqu'un d'autre.
Vous voudrez peut-être jeter un coup d'oeil à github.com/delight-im/php-auth Qui est à la fois le cadre-agnostique et la base de données-agnostique.