|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : mai 2003 Messages : 158 ![]() |
Bonjour
je cherche à interfacer un annuaire Ldap avec des application clientes.Je suis donc en train de développer une API php qui aura ce rôle.Les applications clientes enverront des requêtes vers l'API pour accéder aux ressources de l'annuaire.Ces requêtes auront la forme d'URI.Au niveau de l'API je vais avoir un fichier mapping.php. C'est dans ce fichier que je vais transformer les URI en chemin d'accès réel aux ressources de l'annuaire.Je vais également déterminer les droits associés aux ressources. Je veux donc maintenant écrire ce fichier mais je ne sais pas trop comment m'y prendre. -Première solution(complétement inadapté): faire un switch avec toute les ressources possibles: Code :
-Deuxième solution:construire des URI logiques qui correspondent à la structure de l'annuaire. Je pourrais donc directement reconstruire l'URL à partir de l'URI exemple si l'URL sera Je peux ainsi reconstruire dynamiquement les URL à partir des URI.Mais ce système pose plusieurs problèmes: -c'est fortement dépendant de la structure de l'annuaire. -La structure de l'annuaire est visible par le client -Il est bcp plus difficile d'attribuer des droits pour chacune des opérations (lecture,suppression,ajout et modification) Avez vous des conseils? Merci davance |
||
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() ![]() Inscription : août 2006 Messages : 313 ![]() |
Pourrais tu etre plus clair sur ce que tu entends par URI (c'est des requetes ?)
Pourrais tu donner des exemples concret de URI et ce que tu veux en faire ? |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 158 ![]() |
salut ^^,
quand je parle d'URI, je parle d'un identidiant (qui n'a aucune sémantique particulière à la différence d'une URL qui localise une ressource). exemple d'URI (pour la ressource camion) -camion -/test/camion -objet_camion ... Une requête est l'ensemble URI+opération(GET,PUT,POST ou DELETE). Le client envoie donc une requête sur l'API. l'API contient un fichier qui transforme l'URI en URL (chemin réel vers la ressource de l'annuaire), et envoie vers le bon controlleur (en fonction de l'opération) avec les autorisations passé en paramètre. je ne sais pas si je suis clair |
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() ![]() Inscription : août 2006 Messages : 313 ![]() |
Ben si, ça semble la bonne methode mais sans exemple precis, on peut pas te dire comment realiser ton URI (si tu as 3 caractere speciaux, il y'a toujours les classiques /,_,- apres les autres peuvent etre plus problematique)
Apres tu peux gagner un caractere si tu sais que ton premier mot sera le repertoire et ton dernier l'operation |
|
|
00
|
|
|
#5 | |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 158 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 |
|
Membre éprouvé
![]() ![]() Inscription : août 2006 Messages : 313 ![]() |
La seconde avec les URI.
La premiere c'est une belle blague tout de meme, bonjour la maintenance si le programme evolue |
|
|
00
|
|
|
#7 | |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 158 ![]() |
Citation:
/meteo/france/paris c'est plus parlant que virtualdomain_sitemeteo.fr/ou_meteo/ou_paris/ou_relevetemp |
|
|
|
00
|
|
|
#8 |
|
Membre éprouvé
![]() ![]() Inscription : août 2006 Messages : 313 ![]() |
Ok donc je vois 3 solutions :
- mapping automatique : interessant si vous avez beaucoup de requetes, c'est une solution difficile à mettre en place pour les requetes exotiques. - fichier de configuration : URI -> requete a utiliser : nombre de requete moyenne et risquant d'evoluer frequemment. - peu de requete : Tableau de correspondance URI -> requete a utiliser : meme principe que la précédente mais un peu plus ennuyeux à maintenir. Apres, si j'ai bien compris tes requetes prendront differentes autorisations selon la requete, si c'est le cas, il va falloir s'orienter vers les design patterns qui offrent les solutions les plus souples (chaine de responsabilité par exemple sans trop reflechir, deja plus elegant qu'une suite de boucle if et de case). |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com