public String impersonar() { resolveDataBinding(IMPERSONAR_PROPERTY_BINDINGS, this, "impersonar.this", true, false); try { IContext context; context = ContextFactory.acquireContext(true); IBizPolicyManager bpm = (IBizPolicyManager) PortalSystem.getBizPolicyProvider(); IDirSystemBizPolicy dirSystemPolicy = (IDirSystemBizPolicy) bpm.getBizPolicy(IBizPolicyNames.DIRECTORY_SYSTEM); // lookup user by UID IDirUser user = (IDirUser) dirSystemPolicy.lookupPrincipalByID(context, "anotherUser", IDirSystem.TYPE_USER); IThingID userThingID = user.getDirectoryPrincipalID(); boolean currentIsAdmin = context.isAdminSession(); context.impersonate(userThingID, currentIsAdmin ); getFacesContext().getExternalContext().redirect("http://buadaix001:8585/SSO?command=forceShell&shellURI=shell.CustomInboxShell&returnUrl=/Custom.Inbox"); return OUTCOME_OK; } catch (Exception e) { error(e.getMessage()); log(e); return OUTCOME_ERROR; } }