pumaProfile.getCurrentUser() est null dans les Themes WebSphere 6.
Bonjour bonjour !! :salut:
Je suis actuellement en train de decouvrir l´API puma pour les portails WebSphere.
Mon but est de decouvrir si un utilisateur appartiens a un groupe ou non.
Dans un message precedent,([ame=http://www.developpez.net/forums/showthread.php?p=3223036#post3223036]ici[/ame]) j´ai deja été bien eclairé, et le code fourni marche tres bien dans un portlet, malheureusement, utilisé dans un theme, ca ne marche plus.
J´ai vu que concernant l´API puma, les imports etait differents dans un portlet ou dans le portail ( com.ibm.portal.um.portletservice.legacy.PumaHome devient com.ibm.portal.um.PumaHome)
La meme fonction mise dans un package et importé genere un "Null Pointer Exception". Apres quelques recherches, je trouve que c´est le user qui est null.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<%
javax.naming.Context context = new javax.naming.InitialContext();
com.ibm.portal.um.PumaHome pumaHome;
pumaHome =(com.ibm.portal.um.PumaHome)context.lookup(com.ibm.portal.um.PumaHome.JNDI_NAME);
com.ibm.portal.um.PumaProfile pumaProfile = pumaHome.getProfile(request);
com.ibm.portal.um.PumaController pumaController =pumaHome.getController(request);
com.ibm.portal.um.PumaLocator pumaLocator = pumaHome.getLocator(request);
java.util.List attributes = pumaProfile.getDefinedUserAttributeNames();
com.ibm.portal.um.User user = pumaProfile.getCurrentUser();
com.ibm.portal.puma.User pumauser = (com.ibm.portal.puma.User) user;
System.out.println("JNDI_NAME :"+ com.ibm.portal.um.PumaHome.JNDI_NAME);
System.out.println("pumaProfile.toString() :"+ pumaProfile.toString());
System.out.println("pumaProfile.getCurrentUser() :"+ pumaProfile.getCurrentUser());
System.out.println("user :"+ user);
System.out.println("pumauser :"+ pumauser);
%> |
Et le resultat est donc le suivant, la function pumaProfile.getCurrentUser() retourne "null"
Code:
1 2 3 4 5 6
|
JNDI_NAME : portal:service/usermanagement/Puma
pumaProfile.toString() : com.ibm.wps.proxies.com_ibm_wps_services_puma.PumaServiceWrapperRequestImpl@6111747f
pumaProfile.getCurrentUser() : null
user : null
pumauser : null |
Je cherche donc une solution, je precise que je suis loggé en admin quand les resultats s´affichent.
Je m´interesse fortement a l´initialisation du pumaHome = context.lookup(com.ibm.portal.um.PumaHome.JNDI_NAME);
Si quelqu´un connait ce probleme et se sent l´ame charitable au point de m´indiquer une piste, il me sortirait une grosse épine du pied !:king: