代码之家  ›  专栏  ›  技术社区  ›  Adam Bellaire

如何通过Apache将结构化数据传递给(f)CGI?

  •  0
  • Adam Bellaire  · 技术社区  · 16 年前

    我们已经有了一个用于认证的Apache模块。如果用户能够进行身份验证,则 REMOTE_USER 环境变量设置为它们的用户名,在那里它们可以访问任何CGI。

    我想添加一个特性/模块,这样我们就可以从LDAP数据源中获得关于用户的更多信息,并使其可用于CGI和FCGi应用程序。

    因为我知道我们可以将信息放入环境中,所以在环境变量中存储更复杂的数据结构(如JSON)是否合适?我觉得这很笨拙。有更好的方法吗?

    如果它依赖于语言,那么我对Perl最感兴趣,但是如果我能将这些数据提供给任何类型的CGI或FCGi应用程序,那就更好了。我们在RHEL5.0上使用Apache2.2(启用SELinux)。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Thilo    16 年前

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

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

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