Développement d'un portlet personnalisé

Vous pouvez utiliser le portlet d'emprunt d'identité par défaut pour emprunter l'identité d'utilisateurs spécifiques. Vous pouvez également créer un fournisseur d'environnement de ressources pour activer l'emprunt d'identité et développer un portlet personnalisé pour emprunter l'identité d'utilisateurs.

Exemple de code

Si vous ne voulez pas utiliser le portlet d'emprunt d'identité HCL, utilisez l'exemple suivant pour développer un portlet afin d'emprunter l'identité d'un utilisateur :

import com.ibm.portal.portlet.service.impersonation.ImpersonationService;
import com.ibm.portal.portlet.service.PortletServiceHome;

public class MyImpersonationPortlet extends GenericPortlet
{
    private PortletServiceHome psh;

    @Override
    public void init() throws PortletException
    {
        try
        {
            javax.naming.Context ctx = new javax.naming.InitialContext();
            psh = (PortletServiceHome) ctx.lookup(ImpersonationService.
JNDI_NAME);
        } catch (Exception ex)
        {
            // error handling
        }
    }

    @Override
    public void processAction(ActionRequest request, ActionResponse
response) throws PortletException, IOException
    {
        // obtain the service object and use the service
        ImpersonationService impersonationService = (ImpersonationService)
psh.getPortletService(ImpersonationService.class);
        try
        {
            impersonationService.doImpersonate(request, response,
stringuserDN);
        } catch (Exception e)
        {
            // error handling
        }
    }
}
Vous pouvez entrer les informations relatives à l'utilisateur auquel vous souhaitez emprunter l'identité dans stringuserDN. Vous pouvez également utiliser l'objet utilisateur PUMA SPI.
Remarque : La fonction d'emprunt d'identité devient active avec la demande suivante.