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 Portal, 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.