0

我们有一个用于身份验证的 apache 模块。如果用户能够进行身份验证,则REMOTE_USER环境变量将设置为他们的用户名,他们访问的任何 CGI 都可以使用该用户名。

我想添加一个功能/模块,以便我们可以从 LDAP 数据源获取有关用户的其他信息,并使其可用于 CGI 和 FCGI 应用程序。

既然我知道我们可以将信息放入环境中,那么在环境变量中存储更复杂的数据结构(例如 JSON)是否合适?这对我来说似乎很笨拙。有更好的方法吗?

如果它是语言相关的,那么我对 Perl 最感兴趣,但如果我能将这些数据提供给任何类型的 CGI 或 FCGI 应用程序,那将是最好的。我们在 RHEL 5.0(启用 SELinux)上使用 Apache 2.2。

4

1 回答 1

1

如果您需要使用 CGI,环境变量似乎是唯一的选择(使用 mod_perl,您可以访问 Apache 的内部数据结构)。

如果数据对于环境来说太大,您可以创建一个临时文件并仅传递文件名。您也可以将此信息存储在数据库中。在这两种情况下,您可能需要担心清理临时数据以及并发访问的竞争条件。

如果您已经拥有持久的服务器端会话数据(会话文件或目录或共享内存段),您可能希望将其放置在其中。

于 2009-01-08T13:34:38.143 回答