Première information en mode debug.
1. L'objet file contient bien dans PolicyInfo puis policy entries les
informations de mon fichier (auth.policy). Par contre, je me retrouve
avec les informations suivantes pour une entrée :
- code source : host = www.mywebsite.com
- permission : UnresolvedPermission
- name (Permission) com.[...].URIPermission
- name (UnresolvedPermission) "/myWebApp/[...]do"
- type com.securite.permission.URIPermission
Première question : Comment se fait-il qu'il n'arrive pas à résoudre la
lecture du fichier et faire la disctinction entre la classe et la
valeur. (Prècision : une archive jar contenant la URIPermission à été
rajouté dans le classpath )
2. Ce point est peut être lié à l'erreur du premier point, mais je la
pose quand même.
Je ne comprend par le comportement de ma deuxième ligne de code.
(file.getPermissions). Quand j'exécute cette commande, il n'arrive pas à
retrouver les permissions de mon fichier. Il me propose toutes les
permissions pour chaque lancement d'une JVM pour tous les utilisateurs
sauf mes propres permissions
Voila, j'espère avoir décrit mon problème.
Si vous avez des pistes de réflexions pour corriger mon problème, je
suis à votre écoute.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
azubi
Franck DARRAS wrote:
Bonjour,
Je travaille actuellement sur la sécurité Java et j'ai un petit soucis pour récuperer de nouvelles permissions.
Mon fichier policy (auth.policy) correspond ressemble à ceci : <code> grant codeBase "http://www.mywebsite.com" Principal com.securite.ldap.LdapPrincipal "toto" { permission com.securite.permission.URIPermission "/myWebApp/editRegistration.do"; }; <code>
ben comme premier commentaire, je dirais que ce n'est pas un policy file standard mais un policy file pour JAAS . Donc les permissions affichées ne seront valable que pour un utilisateur identifié comme "toto" par votre serveur ldap.
J'ai rajouté dans le fichier java.policy le lien vers le code précédent policy.url.3=file:${java.home}/lib/security/auth.policy
c'est pas dans java.security qu'il faut rajouter cette ligne ? Mais je ne crois pas que ce soit vraiment nécessaire. Il suffit de lancer le programme Java avec l'option "-Djava.security.policy=auth.policy" par exemple (ou -Djava.security.auth.policy= ... si vous avez vraiment une application JAAS)
Pour charger les différentes permissions, j'utilise le code suivant : PolicyFile file = new PolicyFile();
Première information en mode debug. 1. L'objet file contient bien dans PolicyInfo puis policy entries les informations de mon fichier (auth.policy). Par contre, je me retrouve avec les informations suivantes pour une entrée : - code source : host = www.mywebsite.com - permission : UnresolvedPermission - name (Permission) com.[...].URIPermission - name (UnresolvedPermission) "/myWebApp/[...]do" - type com.securite.permission.URIPermission
Première question : Comment se fait-il qu'il n'arrive pas à résoudre la lecture du fichier et faire la disctinction entre la classe et la valeur. (Prècision : une archive jar contenant la URIPermission à été rajouté dans le classpath )
ben je ne sais pas trop ce que fait URIPermission (ça a pas trop l'air standard sun). Normalement une permission est composée d'un nom de classe, d'un nom d'argument et d'une suite d'actions que l'on peut appliquer à l'argument. Faudrait peut-être vérifier encore une fois la sémantique de votre URIPermission...
2. Ce point est peut être lié à l'erreur du premier point, mais je la pose quand même.
Je ne comprend par le comportement de ma deuxième ligne de code. (file.getPermissions). Quand j'exécute cette commande, il n'arrive pas à retrouver les permissions de mon fichier. Il me propose toutes les permissions pour chaque lancement d'une JVM pour tous les utilisateurs sauf mes propres permissions
ben comme je l'ai dit plus haut, votre policy file n'est pas un policy file "standard"... Si vous n'utilisez pas JAAS, essayez d'enlever la ligne déclarant le "Principal"
Voila, j'espère avoir décrit mon problème.
Si vous avez des pistes de réflexions pour corriger mon problème, je suis à votre écoute.
et juste un bout de début de commencement d'idées vagues ça vous va aussi :-D
bonne soirée
claude
P.S. Il y a un livre assez sympa pour comprendre la sécurité Java. Ca s'appelle "Java Security" de Scott Oaks chez O'reilly. Cependant, je dois vous prévenir que les lois sur le copyright vous interdisent de retrouver ce bouquin sur emule si vous n'en possédez pas un exemplaire...
Franck
Franck DARRAS wrote:
Bonjour,
Je travaille actuellement sur la sécurité Java et j'ai un petit soucis
pour récuperer de nouvelles permissions.
Mon fichier policy (auth.policy) correspond ressemble à ceci :
<code>
grant
codeBase "http://www.mywebsite.com"
Principal com.securite.ldap.LdapPrincipal "toto" {
permission com.securite.permission.URIPermission
"/myWebApp/editRegistration.do";
};
<code>
ben comme premier commentaire, je dirais que ce n'est pas un policy file
standard mais un policy file pour JAAS . Donc les permissions affichées ne
seront valable que pour un utilisateur identifié comme "toto" par votre
serveur ldap.
J'ai rajouté dans le fichier java.policy le lien vers le code précédent
policy.url.3=file:${java.home}/lib/security/auth.policy
c'est pas dans java.security qu'il faut rajouter cette ligne ? Mais je ne
crois pas que ce soit vraiment nécessaire. Il suffit de lancer le programme
Java avec l'option "-Djava.security.policy=auth.policy" par exemple (ou
-Djava.security.auth.policy= ... si vous avez vraiment une application
JAAS)
Pour charger les différentes permissions, j'utilise le code suivant :
PolicyFile file = new PolicyFile();
Première information en mode debug.
1. L'objet file contient bien dans PolicyInfo puis policy entries les
informations de mon fichier (auth.policy). Par contre, je me retrouve
avec les informations suivantes pour une entrée :
- code source : host = www.mywebsite.com
- permission : UnresolvedPermission
- name (Permission) com.[...].URIPermission
- name (UnresolvedPermission) "/myWebApp/[...]do"
- type com.securite.permission.URIPermission
Première question : Comment se fait-il qu'il n'arrive pas à résoudre la
lecture du fichier et faire la disctinction entre la classe et la
valeur. (Prècision : une archive jar contenant la URIPermission à été
rajouté dans le classpath )
ben je ne sais pas trop ce que fait URIPermission (ça a pas trop l'air
standard sun). Normalement une permission est composée d'un nom de classe,
d'un nom d'argument et d'une suite d'actions que l'on peut appliquer à
l'argument. Faudrait peut-être vérifier encore une fois la sémantique de
votre URIPermission...
2. Ce point est peut être lié à l'erreur du premier point, mais je la
pose quand même.
Je ne comprend par le comportement de ma deuxième ligne de code.
(file.getPermissions). Quand j'exécute cette commande, il n'arrive pas à
retrouver les permissions de mon fichier. Il me propose toutes les
permissions pour chaque lancement d'une JVM pour tous les utilisateurs
sauf mes propres permissions
ben comme je l'ai dit plus haut, votre policy file n'est pas un policy file
"standard"... Si vous n'utilisez pas JAAS, essayez d'enlever la ligne
déclarant le "Principal"
Voila, j'espère avoir décrit mon problème.
Si vous avez des pistes de réflexions pour corriger mon problème, je
suis à votre écoute.
et juste un bout de début de commencement d'idées vagues ça vous va aussi
:-D
bonne soirée
claude
P.S. Il y a un livre assez sympa pour comprendre la sécurité Java. Ca
s'appelle "Java Security" de Scott Oaks chez O'reilly. Cependant, je dois
vous prévenir que les lois sur le copyright vous interdisent de retrouver
ce bouquin sur emule si vous n'en possédez pas un exemplaire...
Je travaille actuellement sur la sécurité Java et j'ai un petit soucis pour récuperer de nouvelles permissions.
Mon fichier policy (auth.policy) correspond ressemble à ceci : <code> grant codeBase "http://www.mywebsite.com" Principal com.securite.ldap.LdapPrincipal "toto" { permission com.securite.permission.URIPermission "/myWebApp/editRegistration.do"; }; <code>
ben comme premier commentaire, je dirais que ce n'est pas un policy file standard mais un policy file pour JAAS . Donc les permissions affichées ne seront valable que pour un utilisateur identifié comme "toto" par votre serveur ldap.
J'ai rajouté dans le fichier java.policy le lien vers le code précédent policy.url.3=file:${java.home}/lib/security/auth.policy
c'est pas dans java.security qu'il faut rajouter cette ligne ? Mais je ne crois pas que ce soit vraiment nécessaire. Il suffit de lancer le programme Java avec l'option "-Djava.security.policy=auth.policy" par exemple (ou -Djava.security.auth.policy= ... si vous avez vraiment une application JAAS)
Pour charger les différentes permissions, j'utilise le code suivant : PolicyFile file = new PolicyFile();
Première information en mode debug. 1. L'objet file contient bien dans PolicyInfo puis policy entries les informations de mon fichier (auth.policy). Par contre, je me retrouve avec les informations suivantes pour une entrée : - code source : host = www.mywebsite.com - permission : UnresolvedPermission - name (Permission) com.[...].URIPermission - name (UnresolvedPermission) "/myWebApp/[...]do" - type com.securite.permission.URIPermission
Première question : Comment se fait-il qu'il n'arrive pas à résoudre la lecture du fichier et faire la disctinction entre la classe et la valeur. (Prècision : une archive jar contenant la URIPermission à été rajouté dans le classpath )
ben je ne sais pas trop ce que fait URIPermission (ça a pas trop l'air standard sun). Normalement une permission est composée d'un nom de classe, d'un nom d'argument et d'une suite d'actions que l'on peut appliquer à l'argument. Faudrait peut-être vérifier encore une fois la sémantique de votre URIPermission...
2. Ce point est peut être lié à l'erreur du premier point, mais je la pose quand même.
Je ne comprend par le comportement de ma deuxième ligne de code. (file.getPermissions). Quand j'exécute cette commande, il n'arrive pas à retrouver les permissions de mon fichier. Il me propose toutes les permissions pour chaque lancement d'une JVM pour tous les utilisateurs sauf mes propres permissions
ben comme je l'ai dit plus haut, votre policy file n'est pas un policy file "standard"... Si vous n'utilisez pas JAAS, essayez d'enlever la ligne déclarant le "Principal"
Voila, j'espère avoir décrit mon problème.
Si vous avez des pistes de réflexions pour corriger mon problème, je suis à votre écoute.
et juste un bout de début de commencement d'idées vagues ça vous va aussi :-D
bonne soirée
claude
P.S. Il y a un livre assez sympa pour comprendre la sécurité Java. Ca s'appelle "Java Security" de Scott Oaks chez O'reilly. Cependant, je dois vous prévenir que les lois sur le copyright vous interdisent de retrouver ce bouquin sur emule si vous n'en possédez pas un exemplaire...