take SAML username from REMOTE_USER, but ignore _everyone
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 23 Jun 2011 18:21:20 +0000 (20:21 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 23 Jun 2011 18:21:20 +0000 (20:21 +0200)
C4/Auth.pm

index e9c0586..b99ddfc 100644 (file)
@@ -611,7 +611,8 @@ sub checkauth {
     my ( $userid, $cookie, $sessionID, $flags, $barshelves, $pubshelves );
     my $logout = $query->param('logout.x');
 
-    if ( $userid = $ENV{'REMOTE_USER'} ) {
+    $userid = $ENV{'REMOTE_USER'};
+    if ( $userid && $userid ne '_everyone' ) { # anonymous SAML user
         # Using Basic Authentication, no cookies required
         $cookie = $query->cookie(
             -name    => 'CGISESSID',
@@ -619,6 +620,7 @@ sub checkauth {
             -expires => ''
         );
         $loggedin = 1;
+       warn "# userid: $userid";
     }
     elsif ( $sessionID = $query->cookie("CGISESSID")) {     # assignment, not comparison
         my $session = get_session($sessionID);