Merkwürdiges Verhalten RemoteUserService
Author: pschulz
Publication Date: 4/18/2012 8:06
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
-
Author: gockel - 4/18/2012 9:05
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
Vous devez vous connecter pour laisser un commentaire.
Commentaires
1 commentaire