OVH Cloud OVH Cloud

Probleme SecurityManager

2 réponses
Avatar
alexandre cartapanis
Bonjour,
J'ai un petit probl=C3=A8me avec les security manager. Je m'explique:
je voudrais cr=C3=A9er mon propre SecurityManager, afin d'enregistrer les=
=20
permissions dans un fichier de log.

Bon le souci c'est que le log manager utilise le security manager pour=20
checker ses permissions. Donc, soit j'ai une StackOverflowError, soit=20
j'ai une ClassCircularityError.

En fait si je fais

this.logger.debug(this.messages.getMessage("fr.macymed.modulo.platform.Pl=
atformSecurityManager.checking",=20
new Object[] {_perm.toString()}));

j'ai une StackOverflowError, et si je fais

AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {=20
PlatformSecurityManager.this.logger.debug(PlatformSecurityManager.this.me=
ssages.getMessage("fr.macymed.modulo.platform.PlatformSecurityManager.che=
cking",=20
new Object[] {_perm.toString()}));
return null;
}
});
la j'ai une ClassCircularityError.

Quelqu'un a t'il une id=C3=A9e? Je pense que je comprends d'o=C3=B9 viens=
l'erreur=20
(en fais le message.getMessage() fais un appel a checkPermission()) mais =

je ne vois pas comment la r=C3=A9soudre...

Merci pour toute l'aide que vous m'apporterez :)

--=20
Alexandre CARTAPANIS - Responsable Syst=C3=A8me et R=C3=A9seau
Email alexandre.cartapanis@macymed.fr
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kra=C3=ABmer 13014 Marseille France
T=C3=A9l. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email info@macymed.fr

2 réponses

Avatar
alexandre cartapanis
Je precise juste que les 2 bouts de code sont a l'interieur de la
methode checkPermission(Permission _perm);

Bonjour,
J'ai un petit problème avec les security manager. Je m'explique:
je voudrais créer mon propre SecurityManager, afin d'enregistrer l es
permissions dans un fichier de log.

Bon le souci c'est que le log manager utilise le security manager pour
checker ses permissions. Donc, soit j'ai une StackOverflowError, soit
j'ai une ClassCircularityError.

En fait si je fais

this.logger.debug(this.messages.getMessage("fr.macymed.modulo.platform. PlatformSecurityManager.checking",
new Object[] {_perm.toString()}));

j'ai une StackOverflowError, et si je fais

AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
PlatformSecurityManager.this.logger.debug(PlatformSecurityManager.this. messages.getMessage("fr.macymed.modulo.platform.PlatformSecurityManager.c hecking",
new Object[] {_perm.toString()}));
return null;
}
});
la j'ai une ClassCircularityError.

Quelqu'un a t'il une idée? Je pense que je comprends d'où vie ns l'erreur
(en fais le message.getMessage() fais un appel a checkPermission()) mai s
je ne vois pas comment la résoudre...

Merci pour toute l'aide que vous m'apporterez :)




--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email

Avatar
Bertrand B
Bonjour,
J'ai un petit problème avec les security manager. Je m'explique:
je voudrais créer mon propre SecurityManager, afin d'enregistrer l es
permissions dans un fichier de log.

Bon le souci c'est que le log manager utilise le security manager pour
checker ses permissions. Donc, soit j'ai une StackOverflowError, soit
j'ai une ClassCircularityError.

En fait si je fais

this.logger.debug(this.messages.getMessage("fr.macymed.modulo.platform. PlatformSecurityManager.checking",
new Object[] {_perm.toString()}));

j'ai une StackOverflowError, et si je fais

AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
PlatformSecurityManager.this.logger.debug(PlatformSecurityManager.this. messages.getMessage("fr.macymed.modulo.platform.PlatformSecurityManager.c hecking",
new Object[] {_perm.toString()}));
return null;
}
});
la j'ai une ClassCircularityError.

Quelqu'un a t'il une idée? Je pense que je comprends d'où vie ns l'erreur
(en fais le message.getMessage() fais un appel a checkPermission()) mai s
je ne vois pas comment la résoudre...

Merci pour toute l'aide que vous m'apporterez :)

En d'autres langages

je ferais lors de l'appel vers le security manager
1 "recharger" le security manager par celui d'origine
2 faire le traitement
3 "refaire pointer" le système sur le securtiy manager.