2009-01-08 7 views
0

Nous avons un module apache en place pour l'authentification. Si l'utilisateur est capable de s'authentifier, la variable d'environnement REMOTE_USER est définie sur son nom d'utilisateur, où il est accessible à tout CGI auquel il accède. Je voudrais ajouter une fonctionnalité/module afin que nous puissions obtenir des informations supplémentaires sur l'utilisateur à partir d'une source de données LDAP et le rendre disponible pour les applications CGI et FCGI. Puisque je sais que nous pouvons mettre des informations dans l'environnement, est-il approprié de stocker une structure de données plus complexe (telle que JSON) dans une variable d'environnement?Comment puis-je transmettre des données structurées à mon CGI (F) via Apache?

Cela me semble maladroit. Y a-t-il une meilleure façon de le faire? Si c'est dépendant de la langue, alors je suis plus intéressé par Perl, mais ce serait mieux si je pouvais rendre ces données disponibles pour n'importe quel type d'application CGI ou FCGI. Nous utilisons Apache 2.2 sur RHEL 5.0 (avec SELinux activé).

Répondre

1

Si vous avez besoin de travailler avec CGI, les variables d'environnement semblent être la seule option (avec mod_perl, vous pouvez accéder aux structures de données internes d'Apache).

Si les données sont trop volumineuses pour l'environnement, vous pouvez créer un fichier temporaire et transmettre uniquement le nom du fichier. Vous pouvez également stocker ces informations dans la base de données. Dans les deux cas, vous devrez probablement vous préoccuper du nettoyage des données temporaires et des conditions de concurrence avec accès simultané.

Si vous avez déjà des données de session côté serveur persistantes (un fichier de session ou un répertoire ou un segment de mémoire partagée), vous souhaiterez peut-être le placer là.