Bonjour,

Je suis en train de réaliser un WebService qui doit être sécurisé. Pour cela, j'ai utilisé la norme WS-Security et j'ai implémenter un LoginModule dans lequel j'ajoute les "Principal" au "Subject":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
subject.getPrincipals().add(new MySimplePrincipal());
Mon LoginModule fonctionne bien (à savoir, l'authentification fonctionne).

Maintenant, j'aimerais effectuer les contrôles dl'autorisation aux différents services, c'est-à-dire que tout les utilisateurs n'ont pas forcément le droit d'invoqer tout les services. Comme il n'est pas possible de récupérer l'URL du WebService invoqué depuis le LoginModule, j'avais pensé récupérer le Subject dans le WebService et de déterminer ensuite si l'utilisateur a les droits d'invoquer ce service.

Le problème est que je n'arrive pas à récupérer le Subject. L'appel suivant (que j'effectue depuis la classe qui implémente le WebService) me retourne un Subject Null:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Subject subject = Subject.getSubject(AccessController.getContext());
Est-ce que quelqu'un a une idée?
Est-ce qu'il y a une manière plus élégante de traiter les aspects d'autorisation avec un WebService?

Pour info, j'utilise WebSphere 6.1.

D'avance merci pour votre précieuse aide!