Search the FirstSpirit Knowledge Base
Hallo liebe Community,
und zwar versuche ich an den PermissionService zu kommen, um dort eine Änderung an der groups.xml im ServerMonitoring unter Konfigurationen/Dienste/PermissionService vorzunehmen.
Dies möchte ich über ein ganz normales Skript im Site-Architekt tun (Server-Auftrag wäre auch denkbar). Doch wenn ich context.getConnection().getService("PermissionService") aufrufe, erhalte ich immer nur den ClientPermissionService.
Zudem bekomme ich beim speichern der GroupRoot per save() direkt den Fehler:
FSVersion=5.2.1806.76861#4442;JDK=1.8.0_161 32bit Oracle Corporation;OS=Windows 10 10.0 x86;Date=19.04.2018 11:25:06 (I)
de.espirit.firstspirit.access.script.ExecutionException: Method Invocation groupRoot.save : at Line: 43 : in file: inline evaluation of: ``__execute() { import de.espirit.firstspirit.access.*; import de.espirit.firstspi . . . '' : groupRoot .save ( )
--------------------------------------------------------------------------------------------------------------------------------------
Target exception: java.lang.SecurityException: Not an admin user!
at line 43
at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:109)
at de.espirit.firstspirit.client.gui.applications.ApplicationTabRegistry$IdentifiableExecutable.execute(ApplicationTabRegistry.java:114)
at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:106)
at de.espirit.firstspirit.common.ScriptUtil.executePrivileged(ScriptUtil.java:158)
at de.espirit.firstspirit.common.ScriptUtil.access$000(ScriptUtil.java:31)
at de.espirit.firstspirit.common.ScriptUtil$2.run(ScriptUtil.java:145)
at de.espirit.firstspirit.client.gui.util.GuiUtil$RunnableWrapper.run(GuiUtil.java:2001)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.SecurityException: Not an admin user!
at de.espirit.firstspirit.service.permission.groups.GroupRootImpl.save(GroupRootImpl.java:152)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at bsh.Reflect.invokeMethod(Reflect.java:166)
at bsh.Reflect.invokeObjectMethod(Reflect.java:99)
at bsh.Name.invokeMethod(Name.java:858)
at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
at bsh.BSHBlock.eval(BSHBlock.java:80)
at bsh.BSHBlock.eval(BSHBlock.java:46)
at bsh.BSHTryStatement.eval(BSHTryStatement.java:88)
at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
at bsh.BSHBlock.eval(BSHBlock.java:80)
at bsh.BSHBlock.eval(BSHBlock.java:46)
at bsh.BSHForStatement.eval(BSHForStatement.java:111)
at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
at bsh.BSHBlock.eval(BSHBlock.java:80)
at bsh.BshMethod.invokeImpl(BshMethod.java:371)
at bsh.BshMethod.invoke(BshMethod.java:267)
at bsh.BshMethod.invoke(BshMethod.java:170)
at bsh.PreparsedScript.invoke(PreparsedScript.java:66)
at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:100)
... 9 more
--------------------------------------------------------------------------------------------------------------------------------------
Ich bin als Admin angemeldet und habe ebenso ServerAdmin Rechte. Von daher denke ich, dass genanntes Problem eher beim Abholen des PermissionService liegt. Denn der ClientPermissionService hat anscheinend keinen schreibenden Zugriff auf die groups.xml im ServerMonitoring.
Könntet Ihr mir das weiterhelfen?
Die Skript-Umsetzung noch mal als Anhang. Danke!
Viele Grüße,
Thomas
Hallo Thomas,
Doch wenn ich context.getConnection().getService("PermissionService") aufrufe, erhalte ich immer nur den ClientPermissionService.
Das ist korrekt so.
Zudem bekomme ich beim speichern der GroupRoot per save() direkt den Fehler:
[..]
Target exception: java.lang.SecurityException: Not an admin user!
Ist der Benutzer "Server Admin"? Und der "Administrator-Modus" (Menü "Projekt") aktiviert?
Gruß, Peter
Hallo Peter,
ja, dies habe ich mehrmals überprüft. Siehe Screenshots.
Leider bekomme ich die gleiche Fehlermeldung.
Viele Grüße,
Thomas
So ad hoc habe ich dann auch keine Idee, wieso das nicht funktioniert, sorry. Wende dich am besten an unseren Support, die können dir da bestimmt am schnellsten helfen.