2016-07-11 11 views
0

Wir haben eine Reihe von Berichten in unserem Server, die von vielen Benutzern geteilt werden. In den Berichten wird die Datenfilterung basierend auf Benutzerattributen implementiert, sodass im selben Bericht für unterschiedliche Benutzer unterschiedliche Daten angezeigt werden. Jeder Benutzer erhält eine Anmeldung auf unserem Server und die ROLE_USES gewährt ihnen schreibgeschützten Zugriff auf die freigegebenen Berichte.JasperReports Server: Eingeschränkte Sichtbarkeit geplanter Jobs für den Ersteller

Unser Problem ist, dass Benutzer sehen, bearbeiten und sogar gegenseitig die geplanten Jobs löschen können. Laut der Dokumentation "Typische Benutzer sehen nur die Jobs, die sie selbst definiert haben, sehen Administratoren die von allen Benutzern definierten Jobs." Aber das scheint nicht der Fall zu sein.

Eine der Workarounds schien zu sein, separate Rollen für die Benutzer zu erstellen und dann Kopien der Berichte zu erstellen. Das haben wir versucht. Zwei Benutzer, von denen jeder Zugriff auf verschiedene Berichtssätze hat. Wenn sie in das Menü "Ansicht" -> "Zeitpläne" gehen, sehen sie immer noch alle geplanten Aufträge, sogar die für die Berichte, auf die sie keinen Zugriff haben!

Ich würde es wirklich schätzen, wenn jemand etwas hätte Ahnung, wo zu suchen. Wir haben durch viele Jasperkonfigurationsdateien gesucht, aber keine Hinweise nicht finden können ...

Wir verwenden Community Edition 6.2.1 von Jasperreports Server.

Antwort

0

Analyse

In der Regel möchten Sie die Benutzer in verschiedene Gruppen unterteilen Diese Gruppen c und um Rechte zuzuweisen. Nehmen wir an, Sie haben zwei verschiedene Gruppen, Finanzen und Operationen. Folgende Regeln sollten erstellt erhalten:

  • RULE_FINANCE
  • RULE_OPERATIONS

In Bezug auf das Setup für die Benutzer, weisen nur die neuen Rollen für die Nutzer.

HINWEIS: Denken Sie daran, dass ROLE_USER immer einem Benutzer zugewiesen werden muss, damit es ordnungsgemäß funktioniert. Entfernen Sie diese Rolle nicht von Benutzern. Gegebenenfalls können Sie Rechte z. Ordner für diesen Benutzer jedoch.

die Rollen Mit

Jetzt sollte jede Rolle oder Gruppe nur die Berichte, Ordner oder plant die Rolle oder Gruppe erstellt hat, um sehen können.

Die jasperadmin, die das höchste Niveau Admin der Community Edition ist, ist immer in der Lage, alle Termine, Berichte und Ordner für alle Benutzer zu sehen, und die Zeitpläne in jedem Fall deaktivieren können.

+0

Danke. Wie ich in meinem Beitrag "Eine der Workarounds ...." erwähnt habe, haben wir mehrere Rollen erstellt und die Kopien der Berichte erstellt.In diesem Setup würden Benutzer wie folgt aussehen: User1: ROLE_USER | ROLE_A Benutzer: ROLE_USER | ROLE_B Wir würden dann eine Kopie der Berichte in zwei Ordner erstellen: Ein Folder - visble zu ROLE_A Ordner B - sichtbar ROLE_B Jetzt nur jeder Benutzer ihre Berichte sieht. Benutzer A sieht jedoch weiterhin die Zeitpläne von Benutzer B (auf der Seite Ansicht -> Zeitpläne) und kann sie bearbeiten/löschen. – Trenco

+0

Das ist wirklich merkwürdig, da das Standardverhalten es anderen Rollen nicht erlauben würde, auf die Zeitpläne einer anderen Rolle zuzugreifen, z. [Siehe hier] (http://community.jaspersoft.com/questions/907016/how-make-all-scheduled-jobs-visible-all-users-not-just-administrators). Vielleicht liegt das an der Kopie. Versuchen Sie, beide Rollen auf einen Bericht zugreifen zu lassen und keine Kopie bereitzustellen. – tobi6