我们有一个apache模块用于身份验证。如果用户能够进行身份验证,则REMOTE_USER
环境变量将设置为其用户名,并且可供其访问的任何CGI使用。
我想添加一个功能/模块,以便我们可以从LDAP数据源获取有关用户的其他信息,并使其可供CGI和FCGI应用程序使用。
因为我知道我们可以将信息放入环境中,所以在环境变量中存储更复杂的数据结构(例如JSON)是否合适?这对我来说似乎很笨拙。有没有更好的方法呢?
如果它依赖于语言,那么我对Perl最感兴趣,但如果我能将这些数据提供给任何类型的CGI或FCGI应用程序,那将是最好的。我们在RHEL 5.0上使用Apache 2.2(启用了SELinux)。
答案 0 :(得分:1)
如果你需要使用CGI,环境变量似乎是唯一的选择(使用mod_perl,你可以访问Apache的内部数据结构)。
如果数据对于环境来说太大,您可以创建一个临时文件并仅传递文件名。您还可以将此信息存储在数据库中。在这两种情况下,您可能需要担心清理临时数据以及有关并发访问的竞争条件。
如果您已经拥有持久的服务器端会话数据(会话文件或目录或共享内存段),您可能希望将其放在那里。