Raisons pour stocker les données des utilisateurs dans LDAP au lieu de SGBDR
Il est souvent dit que l'utilisation de LDAP est un bon moyen de stocker des données sur les utilisateurs. C'est à cause des utilisateurs "répertoire" est hiérarchique, il change rarement. Mais à mon avis, qui n'exclut pas l'utilisation de SGBD. Quelles pourraient être les raisons pour utiliser LDAP? Je suppose que stocker plusieurs valeurs de champs ou de l'ajout de champs personnalisés dans LDAP peut-être plus facile, mais il peut être fait dans la base de données (sauf si vous avez beaucoup de dossiers)
Vous devez vous connecter pour publier un commentaire.
L'interopérabilité, comme cela a déjà été mentionné, est très LDAP de la faveur de certains types de logiciel de serveur, bien que beaucoup des logiciels qui s'intègrent avec LDAP besoin d'un schéma spécifique de sorte qu'il n'est pas nécessairement aussi simple que l'installation et la configuration d'un service LDAP et vous partez - vous pourriez avoir besoin d'ajouter de nouveaux éléments dans le schéma pour chaque application que vous souhaitez interagir avec, et chaque application peut avoir différentes limitations quant à l'authentification (par exemple de la plaine de texte champs de mot de passe, champs de mot de passe comme MD5 ou SHA hache, etc).
Un bon service LDAP nécessite un peu juste de la configuration de la connaissance, plus que la création d'un simple schéma dans une base de données relationnelle. SQL DB sont encore assez interopérables option et la prise en charge LDAP n'est pas aussi dominant qu'il était autrefois. Utilisation de LDAP pour être la seule option qu'il y a des années, mais de nombreuses applications (Apache, par exemple) et des systèmes d'exploitation (comme Linux PAM) peut s'authentifier auprès de SQL de bases de données comme MySQL, tout comme les serveurs LDAP comme tout est géré par les pilotes qui font abstraction de l'interface.
Où LDAP brille vraiment, c'est de l'évolutivité. Si vous souhaitez une place pour la tenue de comptes d'utilisateur pour l'authentification et souhaitez mettre à l'échelle de plusieurs serveurs répliqués, et gérer tend de milliers de demandes d'authentification d'un deuxième, LDAP est une excellente option.
Il n'est pas moderne du SGBDR n'est pas à l'échelle, c'est juste que LDAP est (généralement) encore mieux parce que de la façon dont les cascades de réplication à travers différents niveaux; en particulier, en supposant que vous avez un typique de l'authentification de la base de données de configuration où il est principalement en lecture seule avec relativement peu d'opérations d'écriture, donc vous avez seulement besoin d'une réplication unidirectionnelle avec toutes les écritures proviennent d'une seule source de vérité.
Vraiment bien, un serveur LDAP est quelque chose à considérer si vous avez un besoin spécifique pour ce faire, comme un application spécifique vous voulez être en mesure d'interagir avec seulement l'intégration avec LDAP, ou si vous êtes à la construction d'une solution hautement évolutive système d'authentification (par exemple, pour un fournisseur de services internet ou d'un super-application web évolutive - là où vous l'intention d'avoir plus d'un couple de serveurs dédiés juste pour l'authentification, et où ils peuvent se propager à travers le pays ou même à travers le monde).
Le point quelqu'un a déjà fait sur d'avoir un LDAP frontal sur un SGBDR est très bon. Un peu d'entreprises - y compris Oracle (qui ont un intérêt direct dans des Sgbdr, bien sûr) les produits qui ne sont précisément que. Si vous ne voulez pas les frais généraux de la gestion d'un service LDAP, ou si vous voulez juste pour gérer l'ensemble de vos utilisateurs dans une base de données vous pouvez créer des vues/jointures avec, mais pensez-vous pourrait besoin d'un service LDAP, plus tard, que c'est une bonne option. OpenLDAP prend également en charge une coque arrière qui peut prendre des données à partir de n'importe quelle source, y compris un SGBDR; je l'ai utilisé avec MySQL et il fonctionne bien, même si peut être un peu fastidieux à mettre en place la première fois, si vous avez besoin d'un schéma LDAP.
En résumé, le protocole LDAP est grand, mais c'est la situation spécifique de l'interopérabilité et de l'extrême évolutivité. Si vous avez des ressources limitées de gestion et de soutien, il serait peut-être pas en valeur la dispute de soutien, mais si vous êtes de la planification des services comme UNIX hébergé POP/IMAP/SMTP ou d'autres logiciels tiers de l'intégration, alors il est certainement la peine de le faire (et peut-être votre seule option viable).
Oh et, enfin, méfiez-vous de ce serveur LDAP que vous utilisez si vous décidez de mettre en œuvre un! Ils ne sont pas tous créés égaux et que les différences entre eux (en termes de performance et de facilité de gestion & configuration) peut être assez frappantes.
OpenLDAP est un pari assez sûr, des échelles bien et est assez facile à utiliser. Certaines applications fonctionnent mieux /venir avec des fichiers de configuration spécifiques pour un serveur LDAP (par exemple, un grand nombre de logiciels sur Solaris suppose que vous utilisez Sun ONE directory server) qui vous n'auriez pas envie de l'utiliser, soit parce qu'il ne fonctionne pas ainsi, ou est un cochon à configurer, n'est pas bien pris en charge, etc.
Microsoft a créé un Article TechNet à discuter de leur Active Directory Application Mode (ADAM) produit et il a une section de comparer les différences entre les Répertoires et Bases de données. Les éléments suivants sont pris directement à partir du site.
Répertoires
Bases de données
Le "L" dans LDAP est synonyme de Légèreté. L'un des objectifs de LDAP est d'être relativement simple à utiliser et à mettre en œuvre. Si tout ce que vous devez faire est de stocker des informations sur les utilisateurs, vous n'avez pas besoin de toute la flexibilité (et le potentiel de maux de tête ) pour accéder à vos données via SQL. Une interface limitée, tel que présenté par LDAP devrait être plus facile. Ceci est important si vous voulez LDAP pour être mis en œuvre et soutenu par tout le monde, y compris votre fournisseur du système d'exploitation et tous vos fournisseurs d'applications.
PS: Si vous voulez, vous pouvez toujours mettre en œuvre un serveur LDAP en stockant toutes les infos dans un SGBDR, et en fournissant une interface LDAP pour elle 🙂
PPS: LDAP est un protocole de type HTTP. Un SGBDR est une application, généralement considéré comme celui qui met en œuvre SQL, entre autres choses. Donc, pour comparer des pommes avec des pommes, vous feriez mieux de contraste LDAP avec SQL ou HTTP.
Ce, en effet, de ne pas exclure les SGBDR comme backend. Voir, par exemple, des détails sur sql backend pour slapd ou regarde la liste complète des backends.
L'interopérabilité.
Annuaires LDAP avoir un schéma standard pour représenter un utilisateur, de sorte que les champs communs tels que nom, prénom et adresse e-mail sera régulièrement nommée à travers les différents répertoire des implémentations. Ce n'est pas le cas avec un SGBDR.
LDAP définit à la fois le protocole de communication et le langage de requête. Comparez cela à SQL qui n'est qu'un langage de requête et chaque SGBDR met en œuvre son propre protocole de communication.
Il y a donc de nombreuses, de nombreuses applications qui peuvent simplement "plug-in" à un annuaire LDAP en tant qu'utilisateur de magasin, vous permettant de centraliser la gestion des utilisateurs. (Bien sûr, il y a encore des problèmes de compatibilité entre le répertoire des mises en œuvre, mais ces pâle figure en comparaison à avoir des utilisateurs stockées dans des bases de données distinctes pour chaque application).
Une bonne raison est de fournir la connexion unique à travers de nombreuses applications (qui utilisent le LDAP).