| … | |
… | |
| 92 | return WeBWorK::ContentGenerator::Login->new($r, $course_env)->go; |
92 | return WeBWorK::ContentGenerator::Login->new($r, $course_env)->go; |
| 93 | } else { |
93 | } else { |
| 94 | # After we are authenticated, there are some things that need to be |
94 | # After we are authenticated, there are some things that need to be |
| 95 | # sorted out, Authorization-wize, before we start dispatching to individual |
95 | # sorted out, Authorization-wize, before we start dispatching to individual |
| 96 | # content generators. |
96 | # content generators. |
| 97 | my $effectiveUser = $r->param("effectiveUser"); |
97 | my $effectiveUser = $r->param("effectiveUser") || ""; |
| 98 | my $user = $r->param("user"); |
98 | my $user = $r->param("user"); |
| 99 | my $su_authorized = WeBWorK::Authz->new($r, $course_env)->hasPermissions($user, "become_student", $effectiveUser); |
99 | my $su_authorized = WeBWorK::Authz->new($r, $course_env)->hasPermissions($user, "become_student", $effectiveUser); |
| 100 | # This hoary statement has the effect of forcing effectiveUser to equal user unless |
100 | # This hoary statement has the effect of forcing effectiveUser to equal user unless |
| 101 | # the user is otherwise authorized. |
101 | # the user is otherwise authorized. |
| 102 | if (!($user ne $effectiveUser && $su_authorized) || !defined $effectiveUser) { |
102 | if (!($user ne $effectiveUser && $su_authorized) || !defined $effectiveUser) { |