--- loncom/auth/lonacc.pm 2007/11/06 18:07:35 1.110.2.1 +++ loncom/auth/lonacc.pm 2007/11/06 02:42:40 1.113 @@ -1,7 +1,7 @@ # The LearningOnline Network # Cookie Based Access Handler # -# $Id: lonacc.pm,v 1.110.2.1 2007/11/06 18:07:35 albertel Exp $ +# $Id: lonacc.pm,v 1.113 2007/11/06 02:42:40 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -37,7 +37,6 @@ use Apache::loncommon(); use Apache::lonlocal; use Apache::restrictedaccess(); use Apache::blockedaccess(); -use CGI::Cookie(); use Fcntl qw(:flock); use LONCAPA; @@ -146,12 +145,12 @@ sub get_posted_cgi { # returns OK if it was a SSO and user was handled # undef if not SSO or no means to hanle the user sub sso_login { - my ($r,$lonid,$handle) = @_; + my ($r,$handle) = @_; my $lonidsdir=$r->dir_config('lonIDsDir'); if (!($r->user && (!defined($env{'user.name'}) && !defined($env{'user.domain'})) - && (!$lonid || !-e "$lonidsdir/$handle.id" || $handle eq ''))) { + && ($handle eq ''))) { # not an SSO case or already logged in return undef; } @@ -211,17 +210,11 @@ sub handler { if (&Apache::lonnet::is_domainimage($requrl)) { return OK; } - my %cookies=CGI::Cookie->parse($r->header_in('Cookie')); - my $lonid=$cookies{'lonID'}; - my $cookie; - my $lonidsdir=$r->dir_config('lonIDsDir'); - my $handle; - if ($lonid) { - $handle=&LONCAPA::clean_handle($lonid->value); - } + + my $handle = &Apache::lonnet::check_for_valid_session($r); - my $result = &sso_login($r,$lonid,$handle); + my $result = &sso_login($r,$handle); if (defined($result)) { return $result } @@ -234,10 +227,10 @@ sub handler { if ($handle eq '') { $r->log_reason("Cookie $handle not valid", $r->filename); - } elsif ((-e "$lonidsdir/$handle.id") && ($handle ne '')) { + } elsif ($handle ne '') { # ------------------------------------------------------ Initialize Environment - + my $lonidsdir=$r->dir_config('lonIDsDir'); &Apache::lonnet::transfer_profile_to_env($lonidsdir,$handle); # --------------------------------------------------------- Initialize Language