Question

J'ai plusieurs sur un EJB J2EE serveur, avec différents rôles de sécurité.

Maintenant, à partir d'une application client Java Swing, lorsque je me connecte l'utilisateur au serveur, je voudrais découvrir lequel de ces EJBs qui sont accessibles à l'utilisateur, sans réellement essayer de les créer ou les invoquer.

La raison pour laquelle je veux faire est de régler l'interface utilisateur en fonction du EJBs sont disponibles.

Par exemple, si l'EJB « AdministerMetadata » est utilisable par l'utilisateur actuel, je veux afficher une option de menu pour l'administration de métadonnées, etc.

Il est acceptable pour moi d'une requête à partir d'une liste prédéfinie de EJBs connus au sein du client, donc je ne besoin d'être de cette façon totalement dynamique.

Je ne veux pas créer un EJB spécial pour revenir simplement cet accès-information, et je veux éviter d'avoir à essayer d'appeler des méthodes et intercepter des exceptions à faire la découverte.

Je prévois sur l'utilisation de la solution sur JBoss, mais préférerait une solution standard si possible.

Est-ce possible? Si oui, comment?

Était-ce utile?

La solution

Pour autant que je sais qu'il n'y a rien dans J2EE qui vous fournir ces informations au côté client. Même du côté serveur EDBContext vous donnera seulement les rôles que l'appelant est propriétaire ainsi que le principal (par exemple le nom de connexion) de l'appelant.

Je ne vois pas d'autre moyen que d'avoir une session supplémentaire Bean que vous pouvez interroger sur le côté client et qui inspectera le EDBContext du côté du serveur pour indiquer au client quels rôles l'utilisateur actuel est propriétaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top