added method for getting the user form PortalDelegateServlets
git-svn-id: https://svn.research-infrastructures.eu/d4science/gcube/trunk/portal/portal-manager@141523 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
16f03b92db
commit
aa60ad1c38
|
@ -26,6 +26,8 @@ import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import com.liferay.portal.kernel.exception.PortalException;
|
||||||
|
import com.liferay.portal.kernel.exception.SystemException;
|
||||||
import com.liferay.portal.model.Group;
|
import com.liferay.portal.model.Group;
|
||||||
import com.liferay.portal.model.VirtualHost;
|
import com.liferay.portal.model.VirtualHost;
|
||||||
import com.liferay.portal.service.CompanyLocalServiceUtil;
|
import com.liferay.portal.service.CompanyLocalServiceUtil;
|
||||||
|
@ -82,7 +84,7 @@ public class PortalContext {
|
||||||
private static PortalContext singleton = new PortalContext();
|
private static PortalContext singleton = new PortalContext();
|
||||||
|
|
||||||
private UserManager userManager;
|
private UserManager userManager;
|
||||||
|
|
||||||
private String infra;
|
private String infra;
|
||||||
private String vos;
|
private String vos;
|
||||||
|
|
||||||
|
@ -169,6 +171,33 @@ public class PortalContext {
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Please note that this method works with Liferay's PortalDelegateServlet feature {@link com.liferay.portal.kernel.servlet.PortalDelegateServlet}.
|
||||||
|
* For documentation on PortalDelegateServlet @see <a href="https://wiki.gcube-system.org/gcube/Portal_Context#Liferay.27s_PortalDelegateServlet_.28Custom_servlets_running_in_the_ROOT_context.29">gCube WIKI PortalDelegateServlet page</a>
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @param httpServletRequest the {@link HttpServletRequest} object
|
||||||
|
* @return the current user, or <code>null</code> if a current user could not be found
|
||||||
|
* @see {@link GCubeUser}
|
||||||
|
*/
|
||||||
|
public GCubeUser getCurrentUserPortalDelegateServlet(HttpServletRequest httpServletRequest) {
|
||||||
|
try {
|
||||||
|
if (PortalUtil.getUser(httpServletRequest) != null) {
|
||||||
|
long userId = PortalUtil.getUser(httpServletRequest).getUserId();
|
||||||
|
return userManager.getUserById(userId);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//the user is not logged in or session expired
|
||||||
|
_log.debug("Can't find the user, session expired or your not using ");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} catch (PortalException | SystemException | UserManagementSystemException | UserRetrievalFault e) {
|
||||||
|
_log.error("Could not read the current userid, either session expired or user not logged in, exception: " + e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* @param scopeGroupId the liferay groupid number (as String) of the VRE/VO
|
* @param scopeGroupId the liferay groupid number (as String) of the VRE/VO
|
||||||
* @return the scope (context)
|
* @return the scope (context)
|
||||||
|
|
Loading…
Reference in New Issue