Exemple d'utilisation de AuthType résumé de l'authentification d'un utilisateur une fois dans les sous-domaines?

J'ai un domaine qui sera accessible par un petit groupe privé de personnes. Je tiens donc à contrôler l'accès via l'authentification.

Le domaine dispose d'une collection d'applications installées qui ont chacune leur propre sous-domaine. Par exemple: domain.com, app1.domain.com, app2.domain.com, app3.domain.com

J'aimerais avoir une solution d'authentification unique, de sorte qu'ils n'ont pas à s'authentifier pour chaque application. Aussi, les applications sont écrits dans différents langages (PHP, Python et Perl) afin d'authentifier les utilisateurs par le biais d'un module Apache est idéal.

Je suis nouveau à l'authentification digest, mais il semble comme une bonne solution. J'ai utilisé htdigest pour créer mes utilisateurs. J'ai configuré mon domaine et sous-domaines (Voir ci-dessous).

Si je vais au domaine ou à l'un des sous-domaines, il vous demandera un nom d'utilisateur et mot de passe. Si je entrer un nom d'utilisateur correct et le mot de passe, il va authentifier moi et le chargement de la page. Cependant, si je vais à un autre sous-domaine, il va me demander de saisir un nom d'utilisateur et le mot de passe de nouveau. Si je entrer le nom d'utilisateur et mot de passe, il va fonctionner.

De sorte que le fichier de mot de passe est OK, et l'authentification est OK, mais le problème semble résider dans la configuration de la AuthDigestDomain.

J'ai cherché partout sur le net pour trouver un exemple d'utilisation de l'authentification Digest sur plusieurs domaines, mais je ne trouve pas d'exemple précis qui résout mon problème.

J'espère que quelqu'un ici peut aider. Dois-je mettre les mêmes informations d'authentification dans tous les Directory? Dois-je utiliser Directory ou Location ou Files? Ai-je raté quelque chose tous ensemble?

Merci d'avance!

Ci-dessous est un exemple de ma config d'Apache pour domain.com:

<Directory /var/www>
  AuthType Digest
  AuthName "realm"
  AuthDigestAlgorithm MD5
  AuthDigestDomain /http://domain.com/http://app1.domain.com/http://app2.domain.com/http://app3.domain.com/
  AuthDigestNcCheck Off
  AuthDigestNonceLifetime 0
  AuthDigestQop auth
  AuthDigestProvider file
  AuthUserFile /etc/apache2/.htpasswd-digest
  AuthGroupFile /dev/null
  Require valid-user
</Directory>

Et voici un exemple de app1.domain.com:

<Directory /var/lib/app1>
  AuthType Digest
  AuthName "realm"
  AuthDigestAlgorithm MD5
  AuthDigestDomain /http://domain.com/http://app1.domain.com/http://app2.domain.com/http://app3.domain.com/
  AuthDigestNcCheck Off
  AuthDigestNonceLifetime 0
  AuthDigestQop auth
  AuthDigestProvider file
  AuthUserFile /etc/apache2/.htpasswd-digest
  AuthGroupFile /dev/null
  Require valid-user
</Directory>

Décaler les choses encore plus loin, cela fonctionne lors de l'utilisation de IE6, mais pas Firefox ou Chrome. Est-ce que les clients de ne pas envoyer de l'authentification correctement, ou est le serveur envoie pas les informations d'identification correctes?

J'ai aussi lu sur des La RFC 2617 et écrit les en-têtes d'authentification à l'aide de PHP pour garantir que la demande/réponse de défi est correct. Cela n'a pas aidé du tout!

OriginalL'auteur | 2008-12-10