--- loncom/auth/lonacc.pm 2014/03/10 02:07:01 1.154 +++ loncom/auth/lonacc.pm 2014/05/05 23:17:12 1.155 @@ -1,7 +1,7 @@ # The LearningOnline Network # Cookie Based Access Handler # -# $Id: lonacc.pm,v 1.154 2014/03/10 02:07:01 raeburn Exp $ +# $Id: lonacc.pm,v 1.155 2014/05/05 23:17:12 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -386,10 +386,8 @@ sub sso_login { $r->set_handlers('PerlHandler'=> undef); } return OK; - } elsif (defined($r->dir_config('lonSSOUserUnknownRedirect'))) { + } else { &Apache::lonnet::logthis(" SSO authorized unknown user $user "); - $r->subprocess_env->set('SSOUserUnknown' => $user); - $r->subprocess_env->set('SSOUserDomain' => $domain); my @cancreate; my %domconfig = &Apache::lonnet::get_dom('configuration',['usercreation'],$domain); @@ -403,15 +401,18 @@ sub sso_login { } } } - if (grep(/^sso$/,@cancreate)) { - $r->set_handlers('PerlHandler'=> - [\&Apache::createaccount::handler]); - $r->handler('perl-script'); - } else { - $r->internal_redirect($r->dir_config('lonSSOUserUnknownRedirect')); - $r->set_handlers('PerlHandler'=> undef); + if ((grep(/^sso$/,@cancreate)) || (defined($r->dir_config('lonSSOUserUnknownRedirect')))) { + $r->subprocess_env->set('SSOUserUnknown' => $user); + $r->subprocess_env->set('SSOUserDomain' => $domain); + if (grep(/^sso$/,@cancreate)) { + $r->set_handlers('PerlHandler'=> [\&Apache::createaccount::handler]); + $r->handler('perl-script'); + } else { + $r->internal_redirect($r->dir_config('lonSSOUserUnknownRedirect')); + $r->set_handlers('PerlHandler'=> undef); + } + return OK; } - return OK; } return undef; }