Das Notes Forum
Domino 9 und frühere Versionen => ND9: Administration & Userprobleme => Thema gestartet von: DominoDancing am 24.08.17 - 16:51:03
-
Hallo Forum,
ich erhalte nach einem Update auf Notes FP9 in einer eigenen Applikation mit Zugriff auf eine Oracle-Datenbank beim Betätigen einer Aktionsschaltfläche (Click-Event) die Fehlermeldung 'LS2J Error: Threw java.security.AccessControlException: Access denied ("java.sql.SQLPermission" "deregisterDriver")'.
Meines Wissens nach ist am Notes-Client nichts geändert worden außer dem Update auf FP9, allerdings bin ich mir nicht sicher, ob das Update überhaupt ursächlich für die Fehlermeldung ist?!
Die Fehlermeldung tritt auf bei der Variablen-Zuordnung aus dem Java-Objekt:
variable = MyJavaObject.GetValuesFromDB(key)
Hat irgendjemand eine Idee? Danke vorab.
Liebe Grüße
René
-
Der Notes Client bringt seine eigene IBM-JVM mit, hier gibt es eine java.policy Datei (Notes\jvm\lib\security)
Dann, siehe Link:
https://docs.oracle.com/cd/E19830-01/819-4726/6n6s08de4/index.html
-
Hallo Erik,
really Danke für die schnelle und punktgenaue Rückmeldung. Ja, der Client bringt das selbst mit. Aber an der java.policy-Datei hat sich doch inhaltlich überhaupt nichts geändert?! Die sieht doch bei mir heute, wo es nicht mehr funktioniert, inhaltlich noch genauso aus wie 2011 im Lotus- statt im IBM-Pfad. Und 2011 hat das definitiv noch funktioniert. Die guten alten Zeiten eben. ;D
Warum also hat das bis vorgestern noch funktioniert und heute tut es das nicht mehr? Da muss es noch was Anderes geben, was ein 'access denied' zurückliefert. Nur was?! ... Trotzdem werde ich das morgen mal testen, was passiert, wenn ich den Zugriff grundsätzlich auch schreibend vergebe. Aber falls noch weitere Ideen existieren ... immer gern her damit, selbst wenn sie exotisch klingen. Bin für jeden Tipp dankbar.
Liebe Grüße
René
-
OK - mein nächster Tipp wäre den Java Oracle-Treiber zu überprüfen und ggf. updaten, wenn möglich.
-
Hallo Erik,
irgendwie hab' ich Pech beim Denken. ;D Bin also schlicht zu ... doof. Mir ist zunächst unklar, wie genau die Zeile innerhalb der java.policy-Datei auszusehen hat, um generellen Schreib-/Lesezugriff zu gewähren.
Mangels besseren Wissens und größeren Hirns habe ich nun einfach dies hier eingetragen:
grant { permission java.util.PropertyPermission "*", "read,write";
};
um ganz sicher zu gehen, sowohl im jvm\security- als auch im jvm1.6\security-Pfad. Danach habe ich Notes beendet, die cache.ndk gelöscht, Notes neu gestartet und es hat sich nichts geändert: gleicher Fehler. Im Übrigen auch dann, wenn ich die java.policy-Datei in beiden Pfaden lösche?!?! Was mache ich falsch?
Den gleichen Fehler erhalte ich übrigens auch mit einem Client mit FP8 SHF223. Am FP9 liegt es also nicht (ausschließlich).
Ein Update des Java Oracle-Treibers werde ich dann in der nächsten Woche durchführen. Vielen Dank für Deine Tipps.
Liebe Grüße
René
-
Setze doch mal versuchsweise
grant {
permission java.security.AllPermission;
};
Wenn es dann funktioniert kann man die permissions weiter eingrenzen
-
Falls Du noch eine Notes-Installation von der Version vor dem FP-9 change hast, könntest Du die java-policy Versionen diffen (mit winMerge oder verwandtem).
Der Bug/Das Feature kann eigentlich afaik nur durch Änderungen in genau dieser Datei entstanden sein.
Oft sind die Bezeichner darin dann so sprechend, dass Du direkt sehen kannst, welche Veränderung zu der Security Exception geführt hat.
-
Hallo Eknori,
ja,
grant {
permission java.security.AllPermission;
};
funktioniert genau so. Somit kann erst einmal weitergearbeitet werden. Danke!!!
Venceremos Flaite,
wie schon geschrieben, habe ich noch eine java.policy-Datei aus dem Lotus- anstelle des IBM-Pfades mit Stand vom 16.09.2011. Die Datei sah dort ganz genauso aus, hatte zum Zeitpunkt aber definitiv funktioniert. Zuerst werde ich die Dateien nun nochmals vergleichen, danach versuche ich, eine ältere java.policy-Datei aus dem IBM-Pfad für Vergleichszwecke wiederherzustellen. Danke für Deine Unterstützung!!
Liebe Grüße
René
-
Hallo Erik, Eknori, Flaite,
Danke für Eure Hilfe! Es wird eben kompliziert, wenn doof alt wird. ;D Es ist tatsächlich, wie von Euch geweissagt: Es gibt eine Differenz bei den Inhalten der java.policy-Datei.
Der Eintrag, dass jedem erlaubt wird, auf nicht-privilegierten Ports zu lauschen wurde geändert in dynamische Ports.
Daher die Fehlermeldung. Vielen Dank nochmal an alle Mithelfenden!
Liebe Grüße
René
-
Hallo @All,
um solche Probleme bei jedem (JVM-)Update zu umgehen, einfach eine weitere Datei mit dem Namen "java.pol" in das gleiche Verzeichnis der "java.policy"-Datei erstellen, dort die Anpassungen/Änderungen eintragen und fertig. IBM ändert diese Datei bei Updates nicht.
Man muss mit dieser Lösung dann auch nicht mehr daran denken die "java.policy"-Datei bei jedem Update wieder zu kontrollieren und/oder korrigieren...
MFG
ERR