Poblar usuarios remotos en archivos de registro de Apache desde la sesión de PHP

Me encontré con una descripción de cómo obtener un valor en el archivo de registro de PHP , sin embargo, esto funciona efectivamente estableciendo una variable de entorno arbitraria y sustituyéndola en la cadena de configuración de registro.

Realmente quiero controlar el valor al que hace referencia% u en la cadena de configuración de registro en el camino. La única forma en que esto parece posible es que el valor sea devuelto por un módulo de autenticación en Apache.

No hay fin de mod_auth módulos para elegir, sin embargo, la mayoría parece implementar su propia gestión de sesión (es decir, generar sus propias cookies y mantener sus propias búsquedas de sesión de nombre de usuario).

En un mundo ideal, me gustaría un módulo que:

  1. me permitiría especificar el nombre de la cookie de la sesión
  2. podría recuperar una variable nombrada arbitraria / configurable de una sesión de PHP que contenga el nombre de usuario
  3. luego almacenaría en caché las combinaciones de sesión / nombre de usuario no nulas
  4. en su caso, redirigiría a los usuarios a una URL de inicio de sesión configurable

Solía ​​ser aceptable en la progtwigción C, así que podía escribir el mío si era necesario. Desafortunadamente, muchos de los enlaces de https://modules.apache.org están muertos (mod_auth_any, mod_auth_cookie_dbm), así que tengo problemas para encontrar algo cercano. a lo que necesito para entender la API / encontrar algo que pueda usar de manera inmediata.

¿Alguna sugerencia de módulos bien escritos que puedan proporcionar lo que necesito, o que estén cerca de mis requisitos y estén bien escritos / mantenidos?

TIA

DO.

Debería verificar mod_auth_external .

La wiki contiene muchas informaciones útiles, como:

  • ejemplos de autenticadores externos provistos
  • cómo escribir un autenticador

Se pueden usar cookies pero:

No es posible configurar cookies desde un módulo de autenticación

Y no se realiza ninguna caché de autenticación (solo mod_authz_ldap tiene una caché del lado del servidor).

Creo que necesitarás manejar la inicialización de la sesión de PHP (conjunto de cookies), las páginas de inicio de sesión, las páginas de rebash y los inicios de sesión (tal vez con una regeneración de id. De sesión) en una aplicación separada, dedicada a ese trabajo. Utilice un segundo servidor virtual, haciendo solo eso, como lo haría con una solución SSO como CAS o un servidor Radius. Luego use mod_auth_external para verificar el contenido de la cookie o redirigir al usuario a esa aplicación de inicio de sesión. En el autenticador externo de mod_auth_external tendrás que controlar que es una sesión válida del lado del servidor (no confíes en el contenido de la cookie), ya sea directamente en la base de datos o con una comunicación con esta segunda aplicación, pero debes encontrar algo corriendo rápido, es hecho en cada objeto solicitado. O confíe en el contenido de la cookie, utilizándolo solo para fines de búsqueda, pero no confíe en su aplicación real de PHP y verifique que la sesión sea válida en el lado de PHP de la aplicación real.

Decidió ir con authmemcookie