Seit einigen Tagen beschäftige ich mich nebenbei ein wenig mit dem Oracle BI Publisher. Die ersten Versuche aus des Sicht des Administrators gelten natürlich zunächst der Sicherheit. Einen zentralen Reportingserver mit gespeicherten Zugängen zu produktiven Datenquellen sollte man nicht leichtfertig aufbauen. Während die Umstellung der Authentifizierung auf LDAP einwandfrei funktioniert hat, bin ich bei der Einschränkung der Daten auf größere Probleme gestoßen. Wie kann ich dem Benutzer – abhängig von seinen applikationsseitigen Rechten – nur gefilterte Daten zur Verfügung stellen?
Aus der vorherigen Frage ergab sich schnell die nächste… Welcher Benutzer ist eigentlich gerade am BI Publisher angemeldet?
Um es kurz zu machen: Die Dokumentation half hier nicht weiter, allerdings wurde ich im OTN Forum fündig. Die Bind Variable :xdo_user_name steht bei der Definition der Datenquelle in den SQL Statements zur Verfügung. Somit können die Daten über den Benutzernamen eingeschränkt werden.
SELECT *
FROM my_secret_table
WHERE username = :xdo_user_name;
Es wäre spannend zu wissen, ob weitere :xdo… Variablen existieren die z.B. die Gruppenzugehörigkeigt oder ähnliches erkennen lassen.

