2009-02-27 14 views
1

J'ai créé un fichier jar pour charger une bibliothèque native (à l'aide de System.loadlibrary()) et l'ai configuré en tant que bibliothèque partagée dans WebSphere (v6.1). Le serveur a pour fonctionner avec Java 2 activée (c'est la loi ...)Bibliothèques partagées Websphere et sécurité Java 2

Lorsque je tente d'accéder à la bibliothèque, je peux voir que les classes correctes sont chargées à partir de mon fichier jar, mais la tentative de chargement la bibliothèque native me donne l'exception de sécurité suivantes: -

 

Permission: 

     loadLibrary.gbif : Access denied (java.lang.RuntimePermission loadLibrary.gbif) 


Code: 

    com.dave.nativelibrary.NativeLibraryLoader in {file:/hosting/apps/D03-dave-dev/lib/NativeLibraryLoader.jar} 



Stack Trace: 

java.security.AccessControlException: Access denied (java.lang.RuntimePermission loadLibrary.gbif) 
    at java.security.AccessController.checkPermission(AccessController.java:104) 
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:547) 
    at com.ibm.ws.security.core.SecurityManager.checkPermission(SecurityManager.java:189) 
    at java.lang.SecurityManager.checkLink(SecurityManager.java:833) 
    at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:917) 
    at java.lang.System.loadLibrary(System.java:453) 
    at com.dave.nativelibrary.NativeLibraryLoader.(NativeLibraryLoader.java:21) 

--- snip ---

Je ne suis pas vraiment sûr de ce que je fais - donc j'eu quelques tentatives de mettre le suivant dans mon was.policy fichier

permission java.lang.RuntimePermission "loadLibrary.gbif";

J'ai essayé ceci à la fois dans la section application et dans la section bocaux, mais cela n'a eu aucun effet bénéfique.

Quelqu'un peut-il faire la lumière sur ce que je dois faire ici?

Merci

Dave

Répondre

0

Au lieu d'envelopper vos libs indigènes à l'intérieur d'un pot lib. Avez-vous essayé de définir votre code natif comme une librairie native native à l'intérieur de websphere?