--- webserver_auth.module.2009-09-24-didi-maintenance   2009-09-24 15:07:01.000000000 +0300
+++ webserver_auth.module       2009-09-24 16:05:01.000000000 +0300
@@ -50,6 +50,13 @@
       // Try to log into Drupal.
       $user = user_external_load($authname);

+      if (variable_get('site_offline', 1)) {
+        if (!user_access('administer site configuration')) {
+          $user = drupal_anonymous_user();
+          return false;
+        }
+      }
+
       if (!$user) {
         // If unsuccessful, register the user. This will trigger
         // webserver_auth_user() and any other _user() hooks.
