Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Thomas Schulte am 05.02.16 - 07:48:27

Titel: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 05.02.16 - 07:48:27
Wieder mal zwei Fragen vor denen ich gerade stehe und die mir ein wenig Kopfzerbrechen bereiten.

Die erste ist.

Wenn über den Service auf eine Anwendung zugreife die nicht Anonymous hat, dann kommt er da trotzdem hin. Logisch, weil er verwendet ja die Rechte des Servers auf dem die Anwendung läuft. Wenn ich mir den Session Username hole und anzeige sehe ich das auch.
Wie bekomme ich es hin, das er mit den Rechten des angemeldeten Benutzers fragt?

Die Zweite kommt danach.
Ich bekomme eine  Fehlermeldung java.lang.RuntimePermission getProtectionDomain sobald ich versuche auf ein Dokument zuzugreifen. Aus der werde ich definitiv nicht schlau. Meine Vermutung ist, das ich das in der Plugin.xml irgendwie ergänzen muss.
Drei Einträge habe ich gefunden die sich damit beschäftigen aber zwei davon zielen auf Agents und die letzte auf den Client.
http://www-10.lotus.com/ldd/nd85forum.nsf/Feedback+Print?OpenForm&ParentUNID=90958DBEDD30DB748525757B00446F07
http://community.jaspersoft.com/questions/527850/jasperreports-problem-lotus-notesdomino-agent
http://stackoverflow.com/questions/6676558/location-of-currently-running-class-or-jar-file
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 05.02.16 - 08:59:46
Ok zu der zweiten Frage habe ich eine Antwort hier bei uns gefunden http://atnotes.de/index.php?topic=44561.0

Aus der Antowrt ergibt sich aber eine neue Frage. Wie muss ich das Servlet bauen, damit er das nicht braucht?
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: eknori am 05.02.16 - 09:17:25
Zitat
Wie bekomme ich es hin, das er mit den Rechten des angemeldeten Benutzers fragt?
effectiveUserName anstelle von userName
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Sven Hasselbach am 05.02.16 - 09:25:34
Was für ein Servlet entwickelst Du denn (welcher ExtensionPoint)?
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 05.02.16 - 09:33:59
point="org.eclipse.equinox.http.registry.servlets"
sagt zumindest das plugin.xml
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Sven Hasselbach am 05.02.16 - 09:55:38
Probier mal

Code
import com.ibm.domino.osgi.core.context.ContextInfo;

Session session = ContextInfo.getUserSession();
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 05.02.16 - 10:56:34
Probier mal

Code
import com.ibm.domino.osgi.core.context.ContextInfo;

Session session = ContextInfo.getUserSession();
Ok das funktioniert für den ersten Teil der Frage. Danke Sven.
Damit läuft das schon mal mit den Rechten des jeweiligen Benutzers.

Bleibt nur noch das zweite Problem.
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Sven Hasselbach am 05.02.16 - 11:01:47
Zum zweiten Teil:
Wie greifst Du denn auf das Dokument zu? Wie sieht dein Code aus?
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 05.02.16 - 11:48:49
Class Definition der base class
Code
public class SimpleServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private NamesDirectory namesDir;
	private DominoConnection domConnection; 
	private String dbUNID;
	
	public SimpleServlet() {
....
Calling Function ...
Code
/*  Execute and action, based on the Parameters passed to the servlet from the URL;  */
private void executeParams(HttpServletRequest req, PrintWriter pw) {
	try
	{
....

Code 
	 pw.println("List the usernames for this session.<BR>") ;
				pw.println(" Value for database parameter was: " + parameterNames.get("databaseunid") + "<BR>");
				this.dbUNID = parameterNames.get("databaseunid");
				this.domConnection = new DominoConnection(this.dbUNID, pw);
--> hier knallt es	this.domConnection.DominoGetUserName(pw);

die Domino Connection ist in einer eigenen Klasse definiert. Und zwar bei zwei von drei Methoden die ich in dieser Klasse aufrufe.
Bei dieser Funktion hier auch
Code
pw.println("List the data for a single project.<BR>") ;
			pw.println(" Value for database parameter was: " + parameterNames.get("databaseunid") + "<BR>");
			this.dbUNID = parameterNames.get("databaseunid");
			this.domConnection = new DominoConnection(this.dbUNID, pw);
			this.domConnection.DominoGetView("(ProjectsByCode)", pw); // -->> der Call hier der in dieselbe Klasse reinschaut funktioniert komischerweise
			pw.println("check if the view is still available.<BR>") ;
			pw.println(this.domConnection.notesViewHashMap.get("(ProjectsByCode)").getName());
			pw.println("... rows in view =  "  + Integer.toString(this.domConnection.notesViewHashMap.get("(ProjectsByCode)").getEntryCount() ));
--> hier auch	this.domConnection.DominoGetDocumentByKey("(ProjectsByCode)",parameterNames.get("projectid"), pw);

Das hier ist die Klasse.
Code
public class DominoConnection {
private Session notesS;
	private DbDirectory notesDbDirectory;
	private Database notesDatabase;
	private View notesView;
	public HashMap<String, View> notesViewHashMap = new HashMap();
	private Document notesDocument;
	public HashMap<String, Document> notesDocumentHashMap = new HashMap();
....

und das hier die aufgerufenen Funktion
Code
/public void DominoGetDocumentByKey(String viewName, String keyID, PrintWriter pw) {
		try {
			pw.println("Debug001");
			if (notesViewHashMap.containsKey(viewName)) {
				pw.println("View found viewName = " + this.notesViewHashMap.get(viewName).getName() + "<BR>");
				notesDocument = this.notesViewHashMap.get(viewName).getDocumentByKey(keyID);
				if (!notesDocumentHashMap.containsKey(notesDocument.getUniversalID())) {
					notesDocumentHashMap.put(notesDocument.getUniversalID(), notesDocument);
					pw.println("document Size = " + notesDocument.getSize() + "<BR>");
				}
			}
		}
		catch (NotesException n) {
			pw.println("NotesException DominoGetdocumentByKey<BR>");
			pw.println(n.toString()+ "<BR>");
		} //catch block
		
	}
	//Check the user
	public void DominoGetUserName(PrintWriter pw) {
		try {
			
				pw.println("Common UserName = " + notesS.getCommonUserName() + "<BR>");
				pw.println("Effective UserName = " + notesS.getEffectiveUserName() + "<BR>");
			
		}
		catch (NotesException n) {
			pw.println("NotesException DominoGetView<BR>");
			pw.println(n.toString()+ "<BR>");
		} //catch block
		
		
	}


Und das hier ist das Teil das funktioniert wenn ich es aufrufe
Code
	//connect and open the specified view in that database add the view to a hash map for further use
	public void DominoGetView(String viewName, PrintWriter pw) {
		try {
			if (!notesViewHashMap.containsKey(viewName)) {
				notesView = this.notesDatabase.getView(viewName);
			if (notesView != null) {
				notesViewHashMap.put(viewName, notesView);
				pw.println("viewName = " + notesView.getName() + "<BR>");
			}
			}
		}
		catch (NotesException n) {
			pw.println("NotesException DominoGetView<BR>");
			pw.println(n.toString()+ "<BR>");
		} //catch block
		
		
	}

Ich weis das ich etwas übersehe. Ich weis nur nicht was.
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Sven Hasselbach am 05.02.16 - 14:45:57
Wo liegt denn Dein Code (Klasse "DominoConnection")? (Pfad etc.)?
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 07.02.16 - 11:38:44
Alles im selben Pfad.
Das komische ist, hole ich das Document oder das User Handling in die SimpleServlet Klasse hoch dann bekomme ich die Fehlermeldung nicht.
diese beiden Zeilen hier.
Code
pw.println("Common UserName = " + notesS.getCommonUserName() + "<BR>");
pw.println("Effective UserName = " + notesS.getEffectiveUserName() + "<BR>");
einfach in den Call in der SimpleServlet eingebaut:
Code
pw.println("List the usernames for this session.<BR>") ;
pw.println(" Value for database parameter was: " + parameterNames.get("databaseunid") + "<BR>");
this.dbUNID = parameterNames.get("databaseunid");
this.domConnection = new DominoConnection(this.dbUNID, pw);
//this.domConnection.DominoGetUserName(pw);
pw.println("Common UserName = " + notesS.getCommonUserName() + "<BR>");
pw.println("Effective UserName = " + notesS.getEffectiveUserName() + "<BR>");
und er macht das ohne zu meckern????
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 07.02.16 - 12:07:10
Kann das an den Missing Constraints liegen?

Wenn ich vor dem Start die Profüng der Constainrts einschalte, dann zeigt er mir bei der Validation ein paar Fehlermeldungen an:
Missing Constraint für:
Import-Package: com.ibm.domino.osgi.core.context; version="0.0.0"
Import-Package: jaxaX.servlet; version="2.5.0"
Import-Package: javaX.servlet.http; version="2.5.0"
Import-Package: lotus.domino; version="0.0.0"
Import-Package: org.osgi.framework; version="1.3.0"
Require-Bundle: org.eclipse.equinox.http.registry;bundle-Version="0.0.0"

Das ist aber im Manfest mit drin. Komisch.
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 07.02.16 - 12:07:42
Könnte es sein das es ein Problem von Equinox und Lazy loading der Bundles ist?
Das ist das Manifest:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: SimpleServlet
Bundle-SymbolicName: com.cerri.plannerdata;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: com.cerri.plannerdata.Activator
Bundle-Vendor: CERRI
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.ibm.domino.osgi.core.context,
 javax.servlet;version="2.5.0",
 javax.servlet.http;version="2.5.0",
 lotus.domino,
 org.osgi.framework;version="1.3.0"
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.equinox.http.registry
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Sven Hasselbach am 07.02.16 - 13:24:52
Das der Code direkt im Servlet funktioniert, wundert mich nicht. Dein Code in der Klasse DominoConnection verstößt anscheinend gegen die Security Policy des Bundles.

Kannst Du mal den kompletten Stacktrace posten?
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 07.02.16 - 17:55:55
HTTP JVM: 2016/02/07 17:52:29.677 SCHWERWIEGEND CLFAD0211E: Exception thrown ::class.method=com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService() ::thread=Thread-12 ::loggername=anonymous
07.02.2016 17:52:29   HTTP JVM:    java.lang.NoClassDefFoundError: com/cerri/plannerdata/DominoConnection$$M$18
07.02.2016 17:52:29   HTTP JVM:    at com.cerri.plannerdata.DominoConnection$$A$18.__jr_selector__(<generated>:50001)
07.02.2016 17:52:29   HTTP JVM:    at com.cerri.plannerdata.SimpleServlet.executeParams(SimpleServlet.java:95)
07.02.2016 17:52:29   HTTP JVM:    at com.cerri.plannerdata.SimpleServlet.doGet(SimpleServlet.java:51)
07.02.2016 17:52:29   HTTP JVM:    at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
07.02.2016 17:52:29   HTTP JVM:    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
07.02.2016 17:52:29   HTTP JVM:    at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
07.02.2016 17:52:29   HTTP JVM:    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
07.02.2016 17:52:29   HTTP JVM:    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
07.02.2016 17:52:29   HTTP JVM:    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
07.02.2016 17:52:29   HTTP JVM:    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule.invokeServlet(OSGIModule.java:167)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule.access$0(OSGIModule.java:153)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule$1.invokeServlet(OSGIModule.java:134)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.AbstractOSGIModule.invokeServletWithNotesContext(AbstractOSGIModule.java:181)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule.doService(OSGIModule.java:128)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIService.doService(OSGIService.java:417)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
07.02.2016 17:52:29   HTTP JVM: 2016/02/07 17:52:29.694 SCHWERWIEGEND CLFAD0246E: Exception occurred servicing request for: /gpplanner - HTTP Code: 500 ::class.method=com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service() ::thread=Thread-12 ::loggername=anonymous
07.02.2016 17:52:29   HTTP JVM:    java.lang.NoClassDefFoundError: com/cerri/plannerdata/DominoConnection$$M$18
07.02.2016 17:52:29   HTTP JVM:    at com.cerri.plannerdata.DominoConnection$$A$18.__jr_selector__(<generated>:50001)
07.02.2016 17:52:29   HTTP JVM:    at com.cerri.plannerdata.SimpleServlet.executeParams(SimpleServlet.java:95)
07.02.2016 17:52:29   HTTP JVM:    at com.cerri.plannerdata.SimpleServlet.doGet(SimpleServlet.java:51)
07.02.2016 17:52:29   HTTP JVM:    at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
07.02.2016 17:52:29   HTTP JVM:    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
07.02.2016 17:52:29   HTTP JVM:    at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
07.02.2016 17:52:29   HTTP JVM:    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
07.02.2016 17:52:29   HTTP JVM:    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
07.02.2016 17:52:29   HTTP JVM:    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
07.02.2016 17:52:29   HTTP JVM:    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule.invokeServlet(OSGIModule.java:167)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule.access$0(OSGIModule.java:153)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule$1.invokeServlet(OSGIModule.java:134)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.AbstractOSGIModule.invokeServletWithNotesContext(AbstractOSGIModule.java:181)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule.doService(OSGIModule.java:128)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIService.doService(OSGIService.java:417)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
07.02.2016 17:52:29   HTTP JVM:    at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
07.02.2016 17:52:29   HTTP Web Server: Command Not Handled Exception [/gpplanner?username&databaseunid=C1257F1000566569] Anonymous
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Sven Hasselbach am 08.02.16 - 07:53:05
Code
07.02.2016 17:52:29   HTTP JVM:    java.lang.NoClassDefFoundError

Das ist aber ein anderer Fehler...
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 08.02.16 - 08:08:09
Code
07.02.2016 17:52:29   HTTP JVM:    java.lang.NoClassDefFoundError

Das ist aber ein anderer Fehler...
Ja. Das wäre dann der nächste. Wobei ich nicht kapiere warum der erste jetzt weg ist.  Ich hab nichts geändert. Wobei ich auch hier niocht begreife warum. Die DominoConnection.Class ist in demselben Verzeichnis drin wie alles anderen Klassen. Wieso findet er hier also die Class Definition nicht?
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Sven Hasselbach am 08.02.16 - 08:23:45
Füg mal ein

Code
Bundle-ClassPath: .

ins MANIFEST.MF hinzu

EDIT
Und ein
Code
Export-Package: com.cerri.plannerdata
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 08.02.16 - 08:47:14
Hab ich gemacht und Zack hab ich meinen anderen Fehler wieder...

08.02.2016 08:40:36   HTTP JVM: 2016-02-08 08:40:36 JRebel: ERROR java.security.AccessControlException: Access denied (java.lang.RuntimePermission getProtectionDomain)
08.02.2016 08:40:36   HTTP JVM:    at java.security.AccessController.throwACE(AccessController.java:100)
08.02.2016 08:40:36   HTTP JVM:    at java.security.AccessController.checkPermission(AccessController.java:174)
08.02.2016 08:40:36   HTTP JVM:    at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
08.02.2016 08:40:36   HTTP JVM:    at java.lang.Class.getProtectionDomain(Class.java:1327)
08.02.2016 08:40:36   HTTP JVM:    at com.zeroturnaround.javarebel.jf.loadManaged(JRebel:409)
08.02.2016 08:40:36   HTTP JVM:    at com.zeroturnaround.javarebel.je.a(JRebel:64)
08.02.2016 08:40:36   HTTP JVM:    at com.zeroturnaround.javarebel.jo.loadReloadableClass(JRebel:423)
08.02.2016 08:40:36   HTTP JVM:    at com.zeroturnaround.javarebel.SDKIntegrationImpl.findReloadableClass(JRebel:88)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:446)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:426)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:370)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:446)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:399)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:387)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
08.02.2016 08:40:36   HTTP JVM:    at java.lang.ClassLoader.loadClass(ClassLoader.java:638)
08.02.2016 08:40:36   HTTP JVM:    at com.cerri.plannerdata.SimpleServlet.executeParams(SimpleServlet.java:95)
08.02.2016 08:40:36   HTTP JVM:    at com.cerri.plannerdata.SimpleServlet.doGet(SimpleServlet.java:51)
08.02.2016 08:40:36   HTTP JVM:    at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
08.02.2016 08:40:36   HTTP JVM:    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
08.02.2016 08:40:36   HTTP JVM:    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
08.02.2016 08:40:36   HTTP JVM:    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
08.02.2016 08:40:36   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule.invokeServlet(OSGIModule.java:167)
08.02.2016 08:40:36   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule.access$0(OSGIModule.java:153)
08.02.2016 08:40:36   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule$1.invokeServlet(OSGIModule.java:134)
08.02.2016 08:40:36   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.AbstractOSGIModule.invokeServletWithNotesContext(AbstractOSGIModule.java:181)
08.02.2016 08:40:36   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIModule.doService(OSGIModule.java:128)
08.02.2016 08:40:36   HTTP JVM:    at com.ibm.domino.xsp.adapter.osgi.OSGIService.doService(OSGIService.java:417)
08.02.2016 08:40:36   HTTP JVM:    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
08.02.2016 08:40:36   HTTP JVM:    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
08.02.2016 08:40:36   HTTP JVM:    at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Sven Hasselbach am 08.02.16 - 08:54:58
Da ist irgendwas faul mit JRebel:

Code
08.02.2016 08:40:36   HTTP JVM:    at com.zeroturnaround.javarebel.jf.loadManaged(JRebel:409)

In einer Dev Umgebung könntest Du mal

Code
grant {
	java.lang.RuntimePermission "getProtectionDomain";
};

in die Java Policy übernehmen. Oder gleich ein

Code
grant {
  permission java.security.AllPermission;
};

Aber letztlich solltest Du mal bei ZeroTurnAround in den Foren nach dem Problem suchen
Titel: Re: OSGI Tasklet Development auf dem Domino Server security problems
Beitrag von: Thomas Schulte am 09.02.16 - 08:49:21
OK wenn ich in der DEV Umgebung die entsprechenden Rechte setze funktioniert das.

Und wenn man sich dann zum Thema Domino + Java Security einliest bekommt man graue Haare. Nicht das ich davon noch soviele hätte (Haare insgesamt).

Das hier sollte man sich bookmarken: https://www.socialbizug.org/blogs/2ec5d0ed-d04e-4b18-9610-9819fcebca79/entry/the_java_policy_file_in_ibm_domino?lang=en_us

Ach ja. Das Java.security File sollte man nicht anlangen. Da passieren dann komische Sachen.