Diff for /loncom/auth/lonacc.pm between versions 1.148 and 1.149

version 1.148, 2013/12/13 01:41:08 version 1.149, 2013/12/13 02:10:27
Line 264  sub upload_size_allowed { Line 264  sub upload_size_allowed {
 =item sso_login()  =item sso_login()
   
  handle the case of the single sign on user, at this point $r->user    handle the case of the single sign on user, at this point $r->user 
  will be set and valia;d now need to find the loncapa user info, and possibly   will be set and valid now need to find the loncapa user info, and possibly
  balance them. If Apache >= 2.4, $r->user() will also have been set so    balance them. If $r->user() is set this means either it was either set by
         $curruser is checked, and if null, this is an SSO case.          SSO or by checkauthen.pm if a valid cookie was found. The latter case can
  returns OK if it was a SSO and user was handled          be identified by the third arg ($usename).
         undef if not SSO or no means to hanle the user  
    returns OK if it was SSO and user was handled.
           returns undef if not SSO or no means to handle the user.
                   
 =cut  =cut
   
 sub sso_login {  sub sso_login {
     my ($r,$handle,$curruser) = @_;      my ($r,$handle,$username) = @_;
   
     my $lonidsdir=$r->dir_config('lonIDsDir');      my $lonidsdir=$r->dir_config('lonIDsDir');
     if (($r->user eq '') || ($curruser ne '') ||      if (($r->user eq '') || ($username ne '') ||
         (defined($env{'user.name'}) && (defined($env{'user.domain'}))          (defined($env{'user.name'}) && (defined($env{'user.domain'}))
   && ($handle ne ''))) {    && ($handle ne ''))) {
  # not an SSO case or already logged in   # not an SSO case or already logged in
Line 405  sub sso_login { Line 407  sub sso_login {
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     my $requrl=$r->uri;      my $requrl=$r->uri;
     if (&Apache::lonnet::is_domainimage($requrl)) {  
       if ($requrl =~ m{^/res/adm/pages/[^/]+\.(gif|png)$}) {
         return OK;          return OK;
     }      }
   
     if ($requrl =~ m{^/res/adm/pages/[^/]+\.(gif|png)$}) {      if (&Apache::lonnet::is_domainimage($requrl)) {
         return OK;          return OK;
     }      }
   
     my $curruser;      my %user;
     my $handle = &Apache::lonnet::check_for_valid_session($r,undef,\$curruser);      my $handle = &Apache::lonnet::check_for_valid_session($r,undef,\%user);
   
     my $result = &sso_login($r,$handle,$curruser);      my $result = &sso_login($r,$handle,$user{'name'});
     if (defined($result)) {      if (defined($result)) {
  return $result;   return $result;
     }      }
Line 425  sub handler { Line 428  sub handler {
   
     if ($handle eq '') {      if ($handle eq '') {
         unless (($requrl eq '/adm/switchserver') && (!$r->is_initial_req())) {          unless (($requrl eq '/adm/switchserver') && (!$r->is_initial_req())) {
     $r->log_reason("Cookie $handle not valid", $r->filename);      $r->log_reason("Cookie not valid", $r->filename);
         }          }
     } elsif ($handle ne '') {      } elsif ($handle ne '') {
   

Removed from v.1.148  
changed lines
  Added in v.1.149


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>