2010-12-07 40 views
0

J'utilise Zend Framework pour construire une application où je fais usage de SOA pour les raisons habituelles, et j'ai rencontré un problème que je ne suis pas sûr de savoir comment résoudre. L'application a une étape d'authentification et je veux aussi avoir ACL, mais le problème est que je ne sais pas comment rendre le service conscient de l'identité d'un utilisateur sans que tout soit impossible à imiter. Chose est que j'aimerais ACL vérifie à l'intérieur des services.Comment implémenter la relation entre une identité et un service?

Comment faites-vous habituellement? Transmettre l'identité à une instance de service? Le rendre accessible via une sorte de registre? J'aime quand les choses sont automagiques, mais je ne peux pas trouver une bonne solution ici

Répondre

0

Je ne me suis pas heurté à cela de première main, et je ne suis pas un développeur PHP, donc je ne suis pas sûr de savoir comment cela sera utile.

Je pense que passer l'identificateur serait bien, mais je ne sais pas comment vous feriez mieux de le faire.

  • Si vous pouviez faire confiance où l'information venait (et que les messages ne sont pas altérés, alors vous pourriez passer l'identité comme un identifiant, que vous pouvez ensuite regarder.
  • mieux conseillerai être quelque chose d'un peu plus sécurisé, comme un hachage (?).
  • Je suppose que si vous pouvez chiffrer les messages (ou les bits sensibles en eux), alors ce serait bien.

Comment proposez-vous de vérifier l'identité de l'utilisateur "à l'intérieur" d'un service?

+0

Je l'ai résolu en mettant en cache l'identité dans un service avec lequel les autres services communiquaient, et je l'ai également pris en charge pour simplement le transmettre aux services qui l'utilisent. Ressenti bizarre au début, mais maintenant il se sent comme une bonne solution –