Questions & Answers

SOLVED
TWidmayer
Elite Observer

Security Exception beim Projekt anlegen

Jump to solution

Hallo zusammen,

ich habe ein Skript geschrieben, welches ich รผber das Menรผ ausfรผhren, um neue Projekte anzulegen.

Jedoch bekomme ich folgende Exception wenn ich nicht mit dem "Admin"-Account eingeloggt bin und das Skript ausfรผhre.

java.lang.SecurityException: CHANGE_SERVER_SETTING

Der andere User, bei dem ich die Exception bekomme, ist aber auch Server-Administrator, weshalb mich dann die Exception wundert,

denn mit dem User kann ich ja manuell auch ein neues Projekt anlegen.

Was ich hier in der Community gelesen habe, ist dass ich eine Admin-Connection aufbauen muss??

Stimmt das? Mache ich hier was falsch?

Connection connection = context.getConnection();
Connection adminConnection = connection.getService(AdminService.class).getConnection();

adminService = adminConnection.getService(AdminService.class);
projectStorage = adminService.getProjectStorage();

    try {

   newProject = projectStorage.createProject("ProjectName","ProjectDescription");
   projectStorage.refreshProjects();

}

    catch (Exception e) {

   context.logInfo("Erstelle Projekt: " + e);
}

Vielen Dank und viele GrรผรŸe

Tobias

0 Kudos
1 Solution

Accepted Solutions
TWidmayer
Elite Observer

Die Antwort vom Helpdesk:

"Ich befรผrchte, dass Sie den Administrator-Modus nicht gestartet haben (Der Punkt unter Wichtig Smiley Happy und dass es deshalb nicht funktioniert hat (Ohne diese Option ist der Benutzer kein Server-Administrator und darf somit keine neuen Projekte anlegen). "

Also im Projekt unter dem Menรผpunkt: "Projekt" --> "Administrator-Modus" muss ausgefรผhrt sein... danach funktioniert es.

vielen Dank an Hr. Hรถbbel

View solution in original post

0 Kudos
4 Replies
MichaelaReydt
Community Manager

Hallo Tobias,

kannst du bitte auch den StackTrace zu der Exception posten und uns die von dir verwendete FS-Version mitteilen?

Vielen Dank im Voraus und viele GrรผรŸe

Michaela

0 Kudos

Hallo Michaela,

die FS-Version ist 5.1.410.67084

Was ist mit "den StackTrace zu der Exception"  genau gemeint?

Ich hab jetzt mal im catch-Zweig auf e die Methode printStackTrace() angewendet,

hoffe das war das was du meintest:

INFO  30.03.2015 13:04:35.486 (de.espirit.firstspirit.impl.access.ScriptContextImpl): Fehler beim Projekt erstellen java.lang.SecurityException: CHANGE_SERVER_SETTING

java.lang.SecurityException: CHANGE_SERVER_SETTING

    at de.espirit.firstspirit.store.access.AbstractSecurityManager.checkAction(AbstractSecurityManager.java:186)

    at de.espirit.firstspirit.admin.AdminImpl.createProject(AdminImpl.java:566)

    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.BSHAssignment.eval(BSHAssignment.java:77)

    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.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)

    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:161)

    at de.espirit.firstspirit.common.ScriptUtil.access$000(ScriptUtil.java:31)

    at de.espirit.firstspirit.common.ScriptUtil$2.run(ScriptUtil.java:148)

    at de.espirit.firstspirit.client.gui.util.GuiUtil$RunnableWrapper.run(GuiUtil.java:1958)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

INFO  30.03.2015 13:04:35.486 (de.espirit.firstspirit.impl.access.ScriptContextImpl): Fehler beim Projekt erstellen java.lang.SecurityException: CHANGE_SERVER_SETTING

java.lang.SecurityException: CHANGE_SERVER_SETTING

    at de.espirit.firstspirit.store.access.AbstractSecurityManager.checkAction(AbstractSecurityManager.java:186)

    at de.espirit.firstspirit.admin.AdminImpl.createProject(AdminImpl.java:566)

    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.BSHAssignment.eval(BSHAssignment.java:77)

    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.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)

    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:161)

    at de.espirit.firstspirit.common.ScriptUtil.access$000(ScriptUtil.java:31)

    at de.espirit.firstspirit.common.ScriptUtil$2.run(ScriptUtil.java:148)

    at de.espirit.firstspirit.client.gui.util.GuiUtil$RunnableWrapper.run(GuiUtil.java:1958)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

Viele GrรผรŸe

Tobias

0 Kudos

Hallo Tobias,

ich kann Dein Problem reproduzieren. Ich vermute, hier liegt ein Bug vor. Bitte wende Dich an unseren TechnicalSupport.

GrรผรŸe Marian

0 Kudos
TWidmayer
Elite Observer

Die Antwort vom Helpdesk:

"Ich befรผrchte, dass Sie den Administrator-Modus nicht gestartet haben (Der Punkt unter Wichtig Smiley Happy und dass es deshalb nicht funktioniert hat (Ohne diese Option ist der Benutzer kein Server-Administrator und darf somit keine neuen Projekte anlegen). "

Also im Projekt unter dem Menรผpunkt: "Projekt" --> "Administrator-Modus" muss ausgefรผhrt sein... danach funktioniert es.

vielen Dank an Hr. Hรถbbel

0 Kudos

Type a product name