Wer seine QlikView und Qlik Sense Section Access Berechtigungen in NPrinting wiederverwenden will, bemerkt schnell, dass die Dokumentationslage leider ein wenig dünn ist. Bereits im Qlik STT Video "Qlik NPrinting User Management & Security" wird gegen Ende kurz angeschnitten, dass NPrinting Section Access supported. In diesem Blogpost erfahren Sie im Detail, wie es gemacht wird!
Die Anleitung in der folgenden Grafik zeigt wie der Section Access aus QlikView bzw. Qlik Sense in NPrinting wiederverwendet werden kann, ohne manuelles Anlegen von User Filtern in der NPrinting Console.
1) Section Access wird in QlikView und Qlik Sense im Script definiert. Unser
Demo-User ist "VPS1264656\UserDACH" und darf die drei Länder
Deutschland, Österreich und Schweiz sehen .
Der NPrinting-Serviceuser (in unserem Fall VPS1264656\QVSERVICE) wird
hier als ADMIN ohne Einschränkung hinzugefügt.
2) Loggt sich der "UserDACH" in die Applikation
ein, ist der Zugriff auf diese drei Länder beschränkt – der Section Access
wirkt. Genau die gleiche Einschränkung soll der User bei seinen NPrinting
Reports haben.
Die Funktion "=osuser()" zeigt uns den eingeloggten User. Das sieht
in Qlik Sense ein wenig anders aus als in Qlikview, zeigt aber prinzipiell
genauso die Domain und den Usernamen.
3) Damit der User einen NPrinting Bericht erhalten kann, muss er in NPrinting
angelegt bzw. aus dem ActiveDirectory importiert werden. Wichtig ist, dass das
Feld "Domain Account" danach ein "Valid NT Domain User"
ist, weil über diesen Usernamen der Section Access angewendet wird.
4) Beim Anlegen der Connection muss man den Haken "Apply user section
access for reports" anhaken. Als Identity tragen wir den
NPrinting-Serviceuser VPS1264656\QVSERVICE ein.
5) Den NPrinting Report wie gewünscht designen. Am Besten auch eine Textbox mit
osuser() auf den Bericht ziehen, damit man das Ergebnis validieren kann.
6) Die Recipients des Berichts hinzufügen. Damit mappt der NPrinting User
"UserDACH" auf den Domain User "VPS1264656\UserDACH".
Das Gleiche gilt für UserAT und UserDE - und so bekommt
jeder der 3 User seinen maßgeschneiderten Report.
7) Der Benutzername kann dynamisch in der E-Mail gesetzt werden.
8) Wenn Sie den Task nun starten, bekommt jeder User seinen gemäß des Section
Access maßgeschneiderten Report in die Mailbox geliefert. Die osuser()-Funktion
zeigt, dass Section Access greift.