Как я могу передать структурированные данные в мой (F) CGI через Apache? - PullRequest
0 голосов
/ 08 января 2009

У нас есть модуль apache для аутентификации. Если пользователь может пройти аутентификацию, для переменной среды REMOTE_USER задается его имя пользователя, где он доступен для любого CGI, к которому он обращается.

Я хотел бы добавить функцию / модуль, чтобы мы могли получить дополнительную информацию о пользователе из источника данных LDAP и сделать ее доступной для приложений CGI и FCGI.

Поскольку я знаю, что мы можем помещать информацию в среду, уместно ли хранить более сложную структуру данных (например, JSON) в переменной среды? Это кажется мне неуклюжим. Есть ли лучший способ сделать это?

Если это зависит от языка, то меня больше всего интересует Perl, но было бы лучше, если бы я мог сделать эти данные доступными для любого типа приложений CGI или FCGI. Мы используем Apache 2.2 на RHEL 5.0 (с включенным SELinux).

1 Ответ

1 голос
/ 08 января 2009

Если вам нужно работать с CGI, переменные среды кажутся единственным вариантом (с помощью mod_perl вы можете получить доступ к внутренним структурам данных Apache).

Если данные слишком велики для среды, вы можете создать временный файл и передать только имя файла. Вы также можете хранить эту информацию в базе данных. В обоих случаях вам, вероятно, нужно беспокоиться об очистке временных данных и об условиях гонки с одновременным доступом.

Если у вас уже есть постоянные данные сеанса на стороне сервера (файл сеанса или каталог или сегмент общей памяти), вы можете разместить их там.

...