Example usage for com.liferay.portal.kernel.security.permission PermissionChecker getUser

List of usage examples for com.liferay.portal.kernel.security.permission PermissionChecker getUser

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.security.permission PermissionChecker getUser.

Prototype

public User getUser();

Source Link

Usage

From source file:com.liferay.document.library.web.internal.portlet.action.GetFileActionHelper.java

License:Open Source License

protected void processPrincipalException(Throwable t, HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    User user = permissionChecker.getUser();

    if ((user != null) && !user.isDefaultUser()) {
        PortalUtil.sendError(HttpServletResponse.SC_UNAUTHORIZED, (Exception) t, request, response);

        return;/*from ww  w.j av a  2  s  .  co  m*/
    }

    String redirect = PortalUtil.getPathMain() + "/portal/login";

    String currentURL = PortalUtil.getCurrentURL(request);

    redirect = HttpUtil.addParameter(redirect, "redirect", currentURL);

    response.sendRedirect(redirect);
}

From source file:com.liferay.exportimport.staging.StagingImpl.java

License:Open Source License

@Override
public long copyRemoteLayouts(long sourceGroupId, boolean privateLayout, Map<Long, Boolean> layoutIdMap,
        String name, Map<String, String[]> parameterMap, String remoteAddress, int remotePort,
        String remotePathContext, boolean secureConnection, long remoteGroupId, boolean remotePrivateLayout)
        throws PortalException {

    validateRemoteGroup(sourceGroupId, remoteGroupId, remoteAddress, remotePort, remotePathContext,
            secureConnection);/*from  ww w.  j  a v a 2  s .com*/

    PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

    User user = permissionChecker.getUser();

    Map<String, Serializable> publishLayoutRemoteSettingsMap = ExportImportConfigurationSettingsMapFactory
            .buildPublishLayoutRemoteSettingsMap(user.getUserId(), sourceGroupId, privateLayout, layoutIdMap,
                    parameterMap, remoteAddress, remotePort, remotePathContext, secureConnection, remoteGroupId,
                    remotePrivateLayout, user.getLocale(), user.getTimeZone());

    ExportImportConfiguration exportImportConfiguration = null;

    if (Validator.isNotNull(name)) {
        exportImportConfiguration = _exportImportConfigurationLocalService.addDraftExportImportConfiguration(
                user.getUserId(), name, ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_REMOTE,
                publishLayoutRemoteSettingsMap);
    } else {
        exportImportConfiguration = _exportImportConfigurationLocalService.addDraftExportImportConfiguration(
                user.getUserId(), ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_REMOTE,
                publishLayoutRemoteSettingsMap);
    }

    return doCopyRemoteLayouts(exportImportConfiguration, remoteAddress, remotePort, remotePathContext,
            secureConnection, remotePrivateLayout);
}

From source file:com.liferay.exportimport.staging.StagingImpl.java

License:Open Source License

@Override
public String getRemoteSiteURL(Group stagingGroup, boolean privateLayout) throws PortalException {

    if (!stagingGroup.isStagedRemotely()) {
        return StringPool.BLANK;
    }/*from w ww  .j  av a  2  s  .c o m*/

    PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

    User user = permissionChecker.getUser();

    UnicodeProperties typeSettingsProperties = stagingGroup.getTypeSettingsProperties();

    HttpPrincipal httpPrincipal = new HttpPrincipal(buildRemoteURL(typeSettingsProperties), user.getLogin(),
            user.getPassword(), user.getPasswordEncrypted());

    long remoteGroupId = GetterUtil.getLong(typeSettingsProperties.getProperty("remoteGroupId"));
    boolean secureConnection = GetterUtil.getBoolean(typeSettingsProperties.getProperty("secureConnection"));

    String groupDisplayURL = GroupServiceHttp.getGroupDisplayURL(httpPrincipal, remoteGroupId, privateLayout,
            secureConnection);

    try {
        URL remoteSiteURL = new URL(groupDisplayURL);

        String remoteAddress = typeSettingsProperties.getProperty("remoteAddress");

        remoteSiteURL = new URL(remoteSiteURL.getProtocol(), remoteAddress, remoteSiteURL.getPort(),
                remoteSiteURL.getFile());

        return remoteSiteURL.toString();
    } catch (MalformedURLException murle) {
        throw new PortalException(murle);
    }
}

From source file:com.liferay.exportimport.staging.StagingImpl.java

License:Open Source License

protected long doCopyRemoteLayouts(ExportImportConfiguration exportImportConfiguration, String remoteAddress,
        int remotePort, String remotePathContext, boolean secureConnection, boolean remotePrivateLayout)
        throws PortalException {

    Map<String, Serializable> settingsMap = exportImportConfiguration.getSettingsMap();

    Map<String, String[]> parameterMap = (Map<String, String[]>) settingsMap.get("parameterMap");

    String backgroundTaskName = MapUtil.getString(parameterMap, "name", exportImportConfiguration.getName());

    Map<String, Serializable> taskContextMap = new HashMap<>();

    taskContextMap.put("exportImportConfigurationId",
            exportImportConfiguration.getExportImportConfigurationId());

    String remoteURL = buildRemoteURL(remoteAddress, remotePort, remotePathContext, secureConnection);

    PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

    User user = permissionChecker.getUser();

    HttpPrincipal httpPrincipal = new HttpPrincipal(remoteURL, user.getLogin(), user.getPassword(),
            user.getPasswordEncrypted());

    taskContextMap.put("httpPrincipal", httpPrincipal);

    taskContextMap.put("privateLayout", remotePrivateLayout);

    BackgroundTask backgroundTask = _backgroundTaskManager.addBackgroundTask(user.getUserId(),
            exportImportConfiguration.getGroupId(), backgroundTaskName,
            BackgroundTaskExecutorNames.LAYOUT_REMOTE_STAGING_BACKGROUND_TASK_EXECUTOR, taskContextMap,
            new ServiceContext());

    return backgroundTask.getBackgroundTaskId();
}

From source file:com.liferay.exportimport.staging.StagingImpl.java

License:Open Source License

protected void validateRemoteGroup(long groupId, long remoteGroupId, String remoteAddress, int remotePort,
        String remotePathContext, boolean secureConnection) throws PortalException {

    if (remoteGroupId <= 0) {
        RemoteOptionsException roe = new RemoteOptionsException(RemoteOptionsException.REMOTE_GROUP_ID);

        roe.setRemoteGroupId(remoteGroupId);

        throw roe;
    }/*from w  ww .ja va2  s.  c om*/

    Thread currentThread = Thread.currentThread();

    ClassLoader contextClassLoader = currentThread.getContextClassLoader();

    PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

    User user = permissionChecker.getUser();

    String remoteURL = buildRemoteURL(remoteAddress, remotePort, remotePathContext, secureConnection);

    HttpPrincipal httpPrincipal = new HttpPrincipal(remoteURL, user.getLogin(), user.getPassword(),
            user.getPasswordEncrypted());

    try {
        currentThread.setContextClassLoader(PortalClassLoaderUtil.getClassLoader());

        // Ping the remote host and verify that the remote group exists in
        // the same company as the remote user

        GroupServiceHttp.checkRemoteStagingGroup(httpPrincipal, remoteGroupId);

        // Ensure that the local group and the remote group are not the same
        // group and that they are either both company groups or both not
        // company groups

        Group group = _groupLocalService.getGroup(groupId);

        Group remoteGroup = GroupServiceHttp.getGroup(httpPrincipal, remoteGroupId);

        if (group.isCompany() ^ isCompanyGroup(httpPrincipal, remoteGroup)) {

            RemoteExportException ree = new RemoteExportException(RemoteExportException.INVALID_GROUP);

            ree.setGroupId(remoteGroupId);

            throw ree;
        }
    } catch (NoSuchGroupException nsge) {

        // LPS-52675

        if (_log.isDebugEnabled()) {
            _log.debug(nsge, nsge);
        }

        RemoteExportException ree = new RemoteExportException(RemoteExportException.NO_GROUP);

        ree.setGroupId(remoteGroupId);

        throw ree;
    } catch (PrincipalException pe) {

        // LPS-52675

        if (_log.isDebugEnabled()) {
            _log.debug(pe, pe);
        }

        RemoteExportException ree = new RemoteExportException(RemoteExportException.NO_PERMISSIONS);

        ree.setGroupId(remoteGroupId);

        throw ree;
    } catch (RemoteAuthException rae) {

        // LPS-52675

        if (_log.isDebugEnabled()) {
            _log.debug(rae, rae);
        }

        rae.setURL(remoteURL);

        throw rae;
    } catch (SystemException se) {

        // LPS-52675

        if (_log.isDebugEnabled()) {
            _log.debug(se, se);
        }

        RemoteExportException ree = new RemoteExportException(RemoteExportException.BAD_CONNECTION,
                se.getMessage());

        ree.setURL(remoteURL);

        throw ree;
    } finally {
        currentThread.setContextClassLoader(contextClassLoader);
    }
}

From source file:com.liferay.product.navigation.product.menu.web.internal.product.navigation.control.panel.ProductMenuProductNavigationControlPanelEntry.java

License:Open Source License

@Override
protected boolean hasPermissionImplicitlyGranted(PermissionChecker permissionChecker, Group group,
        Portlet portlet) throws Exception {

    User user = permissionChecker.getUser();

    if (permissionChecker.isSignedIn() && user.isSetupComplete()) {
        return true;
    }//from w  w w. j a  va2  s.co  m

    return false;
}

From source file:com.liferay.roles.admin.internal.exportimport.data.handler.RoleStagedModelDataHandler.java

License:Open Source License

protected void importResourcePermissions(PortletDataContext portletDataContext, Role importedRole,
        Permission permission) throws PortalException {

    int scope = permission.getScope();

    if (scope == ResourceConstants.SCOPE_COMPANY) {
        _resourcePermissionService.addResourcePermission(portletDataContext.getCompanyGroupId(),
                portletDataContext.getCompanyId(), permission.getName(), scope,
                String.valueOf(portletDataContext.getCompanyId()), importedRole.getRoleId(),
                permission.getActionId());
    } else if (scope == ResourceConstants.SCOPE_GROUP) {
        long groupId = portletDataContext.getCompanyGroupId();

        long primaryKey = groupId;

        long sourceGroupId = GetterUtil.getLong(permission.getPrimKey());

        if (sourceGroupId == portletDataContext.getSourceUserPersonalSiteGroupId()) {

            PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

            User user = permissionChecker.getUser();

            groupId = user.getGroupId();

            primaryKey = portletDataContext.getUserPersonalSiteGroupId();
        }/*  w ww.j a  v a 2 s  .  co  m*/

        _resourcePermissionService.addResourcePermission(groupId, portletDataContext.getCompanyId(),
                permission.getName(), ResourceConstants.SCOPE_GROUP, String.valueOf(primaryKey),
                importedRole.getRoleId(), permission.getActionId());
    } else if (scope == ResourceConstants.SCOPE_GROUP_TEMPLATE) {
        _resourcePermissionService.addResourcePermission(GroupConstants.DEFAULT_PARENT_GROUP_ID,
                portletDataContext.getCompanyId(), permission.getName(), ResourceConstants.SCOPE_GROUP_TEMPLATE,
                String.valueOf(GroupConstants.DEFAULT_PARENT_GROUP_ID), importedRole.getRoleId(),
                permission.getActionId());
    } else {
        if (_log.isDebugEnabled()) {
            _log.debug("Individually scoped permissions are not imported");
        }
    }
}

From source file:com.liferay.sync.internal.messaging.DLSyncEventMessageListener.java

License:Open Source License

protected void setUser(SyncDLObject syncDLObject) {
    PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

    if (permissionChecker != null) {
        User user = permissionChecker.getUser();

        syncDLObject.setUserId(user.getUserId());
        syncDLObject.setUserName(user.getFullName());
    }//from w  ww.  j  av a 2s . c o  m
}