27,29c27,32
<   // Make sure we get the remote user whichever way it is available.
<   if (isset($_SERVER['REDIRECT_REMOTE_USER'])) {
<     $authname = $_SERVER['REDIRECT_REMOTE_USER'];
---
>   // Read the user name from the configured environment variable
>   $env = variable_get('webserver_auth_user_env_var', '');
>   if($env !== '') {
>     if(isset($_SERVER[$env])) {
>       $authname = $_SERVER[$env];
>     }
31,32c34,42
<   elseif (isset($_SERVER['REMOTE_USER'])) {
<     $authname = $_SERVER['REMOTE_USER'];
---
>
>   // Fallback to dynamic detection when env_var not or wrong configured
>   if($authname === '') {
>     if (isset($_SERVER['REDIRECT_REMOTE_USER'])) {
>       $authname = $_SERVER['REDIRECT_REMOTE_USER'];
>     }
>     elseif (isset($_SERVER['REMOTE_USER'])) {
>       $authname = $_SERVER['REMOTE_USER'];
>     }
77a88
>
83a95
>
112a125,130
>     'webserver_auth_user_env_var' => array(
>       '#type' => 'textfield',
>       '#title' => t('Environment variable'),
>       '#default_value' => variable_get('webserver_auth_user_env_var', 'REMOTE_USER'),
>       '#description' => t("The environment variable to use as username. Often used: REMOTE_USER, REDIRECT_REMOTE_USER. Maybe different in your setup."),
>     ),