pschulz
I'm new here

Merkwürdiges Verhalten RemoteUserService

Jump to solution

Moin,

innerhalb eines Workflows wird ein Skript mit folgendem Inhalt aufgerufen:

27: UserService us_news = context.getUserService().getRemoteUserService("xxx");

28: ContentStoreRoot cs_news = (ContentStoreRoot) us_news.getStore(Store.Type.CONTENTSTORE, false);

[...]

45: Content2 contentSource_category = cs_news.getContent2ByName("i_news_category");

46: return contentSource_category.getSchema().getSession().find("I_News_Category", new Object[] { 13245L });

[...]

Wenn ich den Workflow als ein User der Administratoren-Gruppe aufrufe, wird das Skript fehlerfrei ausgeführt.

Wenn allerdings ein "normaler" User den Workflow aufruft, verschluckt sich FirstSpirit an der Zeile 46 mit folgender Exception:

Caused by: java.lang.NullPointerException

        at de.espirit.firstspirit.server.io.CachingOrSessionFactory$1.getOrSchema(CachingOrSessionFactory.java:63)

        at de.espirit.firstspirit.store.access.templatestore.SessionHandlerImpl.getSchema(SessionHandlerImpl.java:58)

        at de.espirit.or.impl.AbstractSession.getSchema(AbstractSession.java:100)

        at de.espirit.or.impl.AbstractSession.isTemporal(AbstractSession.java:668)

        at de.espirit.or.impl.AbstractSession.find(AbstractSession.java:181)

        at de.espirit.or.impl.AbstractSession.find(AbstractSession.java:63)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Hier noch die FS-Version: 4.2.461.48921

Viele Grüße

Peter

0 Kudos
1 Solution

Accepted Solutions
gockel
Crownpeak employee

Hallo Peter,

hier scheint es sich um einen FirstSpirit Bug zu handeln. Ich vermute, dass der Benutzer mit dem der Workflow ausgeführt wird, keinen Zugriff auf das Remoteprojekt hat, sondern nur der technische Benutzer.

Ich vermute Ihre Konstellation sieht wie folgt aus:

----------------------

Benutzer:

* Admin

* Benutzer 'Redakteur 1'

* Technischer Benutzer 'Remoteuser'

Projekt A

-> hier wird der Workflow ausgeführt wird.

-> 'Redakteur 1' hat Zugriff auf dieses Projekt

Remoteprojekt B

-> 'Redakteur 1' hat KEINEN Zugriff auf dieses Projekt

-> technischer Benutzer 'RemoteUser' hat Zugriff auf dieses Projekt.

--------------------------------------------

Könnten Sie bitte noch mal testen, ob es auch zu der NPE kommt, wenn der Workflow von einem Benutzer 'Redakteur 2' ausgeführt wird, der zusätzlich zu dem Zugriff auf 'Projekt A' selbst auch Zugriff auf das Remoteprojekt 'B' hat.

Ich würde vermuten, dass es dann NICHT zu der NPE kommt.

View solution in original post

0 Kudos
3 Replies
gockel
Crownpeak employee

Hallo Peter,

hier scheint es sich um einen FirstSpirit Bug zu handeln. Ich vermute, dass der Benutzer mit dem der Workflow ausgeführt wird, keinen Zugriff auf das Remoteprojekt hat, sondern nur der technische Benutzer.

Ich vermute Ihre Konstellation sieht wie folgt aus:

----------------------

Benutzer:

* Admin

* Benutzer 'Redakteur 1'

* Technischer Benutzer 'Remoteuser'

Projekt A

-> hier wird der Workflow ausgeführt wird.

-> 'Redakteur 1' hat Zugriff auf dieses Projekt

Remoteprojekt B

-> 'Redakteur 1' hat KEINEN Zugriff auf dieses Projekt

-> technischer Benutzer 'RemoteUser' hat Zugriff auf dieses Projekt.

--------------------------------------------

Könnten Sie bitte noch mal testen, ob es auch zu der NPE kommt, wenn der Workflow von einem Benutzer 'Redakteur 2' ausgeführt wird, der zusätzlich zu dem Zugriff auf 'Projekt A' selbst auch Zugriff auf das Remoteprojekt 'B' hat.

Ich würde vermuten, dass es dann NICHT zu der NPE kommt.

0 Kudos

Hallo Sebastian,

ich kann das Verhalten genau so bestätigen.

Sobald der User auch selbst auf das Remoteprojekt zugreifen kann, kommt es nicht mehr zu der NPE.

Es kommt für mich allerdings nicht in Frage, allen Usern, die den Workflow auführen können sollen, Zugriff auf das Remoteprojekt zu gestatten, da sie von dem Projekt gar nichts wissen sollen.

Kann dieser Bug zeitnah behoben werden?

Viele Grüße

Peter

0 Kudos
gockel
Crownpeak employee

Es kommt für mich allerdings nicht in Frage, allen Usern, die den Workflow auführen können sollen, Zugriff auf das Remoteprojekt zu gestatten, da sie von dem Projekt gar nichts wissen sollen.

Das ist klar, denn genau dafür sind ja die RemoteConfigurationen und der Einsatz von technischen Benutzern gedacht.

Ich habe hierzu bei uns einen Bug erstellt. Die interne ID lautet TS#116776 .

Bitte erkundigen Sie sich beim Helpdesk über den Statusverlauf dieses Bugs mit vorgenannter Nummer.

0 Kudos