我有一个LAMP服务器设置使用Apache2,mod_php和mod_authnz_ldapvalidation到Active Directory。 这承载了一个轻量级的PHP应用程序,用户input和操作数据。 访问基于'require ldap-group …'指令,并且许多组都是有效的。
我们现在需要为其他组添加访问权限,但访问权限必须是“只读”的。 在这种情况下,我们需要在应用程序级别确定用户所在的组,并根据该组成员资格禁用某些function。 应用程序是PHP,所以PHP可以轻松访问的东西是理想的。
AD组名称apache用来授予访问权限可以很容易地暴露给应用程序,类似$_SERVER['AUTHENTICATE_SAMACCOUNTNAME'] 。
我们已经通过apache进行身份validation,所以这会造成不必要的重复,额外的工作来实现和额外的维护开销(一个更多的绑定URL来改变)。 可行,但这是一个痛苦。
再一次,要求我们只为这个主机偏离我们的标准,并且保持这个前进。 可以,但稍微小一些的疼痛。 然而,添加其他ldap指令或虚拟主机更改将是微不足道的。
这实际上似乎是最好的主意,但是这需要我们为新组发布一个新的URL,这是一个糟糕的用户体验,可能会被拒绝。
这么多的额外开销,这是完全不可行的这种情况下。 (而且技术上也不会回答这个问题)。
你应该可以在Apache中使用SetEnv: https : //httpd.apache.org/docs/2.2/env.html
然后在PHP中使用getenv()或$ _SERVER []数组。