Você deve poder usar apenas o SetEnv no apache: link
Em PHP, use getenv () ou o array $ _SERVER [].
Eu tenho uma configuração de servidor LAMP usando Apache2, mod_php e mod_authnz_ldap para autenticar no Active Directory. Isso hospeda um aplicativo php leve, onde os usuários entram e manipulam dados. O acesso é baseado nas diretivas 'require ldap-group ...' e vários grupos são válidos.
Agora precisamos adicionar acesso a um grupo adicional, mas o acesso deles deve ser "somente leitura". Nesse caso, precisamos determinar no nível do aplicativo em qual grupo um usuário está e desativar determinadas funções com base nessa associação de grupo. A aplicação é php, então algo que o php pode acessar facilmente é ideal.
O nome do grupo do AD que o apache usou para conceder acesso pode ser facilmente exposto ao aplicativo, da mesma forma que $_SERVER['AUTHENTICATE_SAMACCOUNTNAME']
é.
Já estamos autenticando via apache, então isso cria duplicação desnecessária, trabalho extra para implementar e sobrecarga adicional de manutenção (mais uma URL de ligação para alterar). Doable, mas é uma dor.
Mais uma vez, exigimos que nos desviemos de nossos padrões apenas para esse host e mantemos isso em andamento. Doable, mas uma dor ligeiramente menor. Adicionar outras diretivas de ldap ou alterações de vhost, no entanto, seria trivial.
Na verdade, essa parece ser a melhor ideia, no entanto, seria necessário publicar um novo URL para o novo grupo, o que é uma experiência ruim para o usuário e, possivelmente, pode ser rejeitado sem mais cliques.
Tanta sobrecarga extra que não é completamente viável para este caso. (E tecnicamente não responderia a pergunta de qualquer maneira).
Tags php ldap apache-2.4 mod-auth-ldap