Auth.pm: Rechte nur dann laden, wenn User & Client gesetzt sind
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 4 Dec 2014 15:12:55 +0000 (16:12 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 4 Dec 2014 15:12:55 +0000 (16:12 +0100)
Seit f6ed86e wird im Menü-Template-Code auf Rechte
getestet (AUTH.assert(…)). Im User-Bereich ist das kein Problem, weil
die Menü-Templates nur dann benutzt werden, wenn tatsächlich ein User
angemeldet ist.

Im Admin-Bereich allerdings wird ebenfalls Menü-Code verwendet,
allerdings gibt es in dem Moment weder einen Client noch einen User. Der
Auth-Code muss damit klarkommen und in dem Fall schlicht »nicht
berechtigt« zurückliefern.

SL/Auth.pm

index bb7ae00..374a9f2 100644 (file)
@@ -1225,6 +1225,8 @@ sub load_rights_for_user {
 
   $rights = { map { $_ => 0 } all_rights() };
 
+  return $rights if !$self->client || !$login;
+
   $query =
     qq|SELECT gr."right", gr.granted
        FROM auth.group_rights gr