Example usage for com.liferay.portal.util PropsValues WEB_SERVER_PROTOCOL

List of usage examples for com.liferay.portal.util PropsValues WEB_SERVER_PROTOCOL

Introduction

In this page you can find the example usage for com.liferay.portal.util PropsValues WEB_SERVER_PROTOCOL.

Prototype

String WEB_SERVER_PROTOCOL

To view the source code for com.liferay.portal.util PropsValues WEB_SERVER_PROTOCOL.

Click Source Link

Usage

From source file:com.liferay.message.boards.internal.pop.MessageListenerImpl.java

License:Open Source License

@Override
public void deliver(String from, String recipient, Message message) throws MessageListenerException {

    List<ObjectValuePair<String, InputStream>> inputStreamOVPs = null;

    try {/*  www  .j av  a  2s. c o  m*/
        StopWatch stopWatch = new StopWatch();

        stopWatch.start();

        if (_log.isDebugEnabled()) {
            _log.debug("Deliver message from " + from + " to " + recipient);
        }

        String messageIdString = getMessageIdString(recipient, message);

        Company company = getCompany(messageIdString);

        if (_log.isDebugEnabled()) {
            _log.debug("Message id " + messageIdString);
        }

        long parentMessageId = MBUtil.getMessageId(messageIdString);

        if (_log.isDebugEnabled()) {
            _log.debug("Parent message id " + parentMessageId);
        }

        MBMessage parentMessage = null;

        if (parentMessageId > 0) {
            parentMessage = _mbMessageLocalService.fetchMBMessage(parentMessageId);
        }

        if (_log.isDebugEnabled()) {
            _log.debug("Parent message " + parentMessage);
        }

        long groupId = 0;
        long categoryId = MBUtil.getCategoryId(messageIdString);

        MBCategory category = _mbCategoryLocalService.fetchMBCategory(categoryId);

        if (category == null) {
            categoryId = MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID;

            if (parentMessage != null) {
                groupId = parentMessage.getGroupId();
            }
        } else {
            groupId = category.getGroupId();
        }

        if (_log.isDebugEnabled()) {
            _log.debug("Group id " + groupId);
            _log.debug("Category id " + categoryId);
        }

        User user = _userLocalService.getUserByEmailAddress(company.getCompanyId(), from);

        String subject = null;

        if (parentMessage != null) {
            subject = MBUtil.getSubjectForEmail(parentMessage);
        }

        MBMailMessage mbMailMessage = new MBMailMessage();

        MBUtil.collectPartContent(message, mbMailMessage);

        inputStreamOVPs = mbMailMessage.getInputStreamOVPs();

        PermissionCheckerUtil.setThreadValues(user);

        ServiceContext serviceContext = new ServiceContext();

        serviceContext.setAttribute("propagatePermissions", Boolean.TRUE);

        String portletId = PortletProviderUtil.getPortletId(MBMessage.class.getName(),
                PortletProvider.Action.VIEW);

        serviceContext.setLayoutFullURL(PortalUtil.getLayoutFullURL(groupId, portletId,
                StringUtil.equalsIgnoreCase(Http.HTTPS, PropsValues.WEB_SERVER_PROTOCOL)));

        serviceContext.setScopeGroupId(groupId);

        if (parentMessage == null) {
            _mbMessageService.addMessage(groupId, categoryId, subject, mbMailMessage.getBody(),
                    MBMessageConstants.DEFAULT_FORMAT, inputStreamOVPs, false, 0.0, true, serviceContext);
        } else {
            _mbMessageService.addMessage(parentMessage.getMessageId(), subject, mbMailMessage.getBody(),
                    MBMessageConstants.DEFAULT_FORMAT, inputStreamOVPs, false, 0.0, true, serviceContext);
        }

        if (_log.isDebugEnabled()) {
            _log.debug("Delivering message takes " + stopWatch.getTime() + " ms");
        }
    } catch (PrincipalException pe) {
        if (_log.isDebugEnabled()) {
            _log.debug("Prevented unauthorized post from " + from);
        }

        throw new MessageListenerException(pe);
    } catch (Exception e) {
        _log.error(e, e);

        throw new MessageListenerException(e);
    } finally {
        if (inputStreamOVPs != null) {
            for (ObjectValuePair<String, InputStream> inputStreamOVP : inputStreamOVPs) {

                InputStream inputStream = inputStreamOVP.getValue();

                StreamUtil.cleanUp(inputStream);
            }
        }

        PermissionCheckerUtil.setThreadValues(null);
    }
}

From source file:com.liferay.portlet.login.util.LoginUtil.java

License:Open Source License

public static void login(HttpServletRequest request, HttpServletResponse response, String login,
        String password, boolean rememberMe, String authType) throws Exception {

    CookieKeys.validateSupportCookie(request);

    HttpSession session = request.getSession();

    Company company = PortalUtil.getCompany(request);

    long userId = getAuthenticatedUserId(request, login, password, authType);

    if (!PropsValues.AUTH_SIMULTANEOUS_LOGINS) {
        Map<String, UserTracker> sessionUsers = LiveUsers.getSessionUsers(company.getCompanyId());

        List<UserTracker> userTrackers = new ArrayList<UserTracker>(sessionUsers.values());

        for (UserTracker userTracker : userTrackers) {
            if (userId != userTracker.getUserId()) {
                continue;
            }// w  ww . j av a 2s  .com

            JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

            ClusterNode clusterNode = ClusterExecutorUtil.getLocalClusterNode();

            if (clusterNode != null) {
                jsonObject.put("clusterNodeId", clusterNode.getClusterNodeId());
            }

            jsonObject.put("command", "signOut");

            long companyId = CompanyLocalServiceUtil.getCompanyIdByUserId(userId);

            jsonObject.put("companyId", companyId);
            jsonObject.put("sessionId", userTracker.getSessionId());
            jsonObject.put("userId", userId);

            MessageBusUtil.sendMessage(DestinationNames.LIVE_USERS, jsonObject.toString());
        }
    }

    if (PropsValues.SESSION_ENABLE_PHISHING_PROTECTION) {
        session = renewSession(request, session);
    }

    // Set cookies

    String domain = CookieKeys.getDomain(request);

    User user = UserLocalServiceUtil.getUserById(userId);

    String userIdString = String.valueOf(userId);

    session.setAttribute("j_username", userIdString);

    if (PropsValues.PORTAL_JAAS_PLAIN_PASSWORD) {
        session.setAttribute("j_password", password);
    } else {
        session.setAttribute("j_password", user.getPassword());
    }

    session.setAttribute("j_remoteuser", userIdString);

    if (PropsValues.SESSION_STORE_PASSWORD) {
        session.setAttribute(WebKeys.USER_PASSWORD, password);
    }

    Cookie companyIdCookie = new Cookie(CookieKeys.COMPANY_ID, String.valueOf(company.getCompanyId()));

    if (Validator.isNotNull(domain)) {
        companyIdCookie.setDomain(domain);
    }

    companyIdCookie.setPath(StringPool.SLASH);

    Cookie idCookie = new Cookie(CookieKeys.ID, Encryptor.encrypt(company.getKeyObj(), userIdString));

    if (Validator.isNotNull(domain)) {
        idCookie.setDomain(domain);
    }

    idCookie.setPath(StringPool.SLASH);

    Cookie passwordCookie = new Cookie(CookieKeys.PASSWORD, Encryptor.encrypt(company.getKeyObj(), password));

    if (Validator.isNotNull(domain)) {
        passwordCookie.setDomain(domain);
    }

    passwordCookie.setPath(StringPool.SLASH);

    Cookie rememberMeCookie = new Cookie(CookieKeys.REMEMBER_ME, Boolean.TRUE.toString());

    if (Validator.isNotNull(domain)) {
        rememberMeCookie.setDomain(domain);
    }

    rememberMeCookie.setPath(StringPool.SLASH);

    int loginMaxAge = PropsValues.COMPANY_SECURITY_AUTO_LOGIN_MAX_AGE;

    String userUUID = userIdString.concat(StringPool.PERIOD).concat(String.valueOf(System.nanoTime()));

    Cookie userUUIDCookie = new Cookie(CookieKeys.USER_UUID, Encryptor.encrypt(company.getKeyObj(), userUUID));

    userUUIDCookie.setPath(StringPool.SLASH);

    session.setAttribute(WebKeys.USER_UUID, userUUID);

    if (PropsValues.SESSION_DISABLED) {
        rememberMe = true;
    }

    if (rememberMe) {
        companyIdCookie.setMaxAge(loginMaxAge);
        idCookie.setMaxAge(loginMaxAge);
        passwordCookie.setMaxAge(loginMaxAge);
        rememberMeCookie.setMaxAge(loginMaxAge);
        userUUIDCookie.setMaxAge(loginMaxAge);
    } else {

        // This was explicitly changed from 0 to -1 so that the cookie lasts
        // as long as the browser. This allows an external servlet wrapped
        // in AutoLoginFilter to work throughout the client connection. The
        // cookies ARE removed on an actual logout, so there is no security
        // issue. See LEP-4678 and LEP-5177.

        companyIdCookie.setMaxAge(-1);
        idCookie.setMaxAge(-1);
        passwordCookie.setMaxAge(-1);
        rememberMeCookie.setMaxAge(0);
        userUUIDCookie.setMaxAge(-1);
    }

    Cookie loginCookie = new Cookie(CookieKeys.LOGIN, login);

    if (Validator.isNotNull(domain)) {
        loginCookie.setDomain(domain);
    }

    loginCookie.setMaxAge(loginMaxAge);
    loginCookie.setPath(StringPool.SLASH);

    Cookie screenNameCookie = new Cookie(CookieKeys.SCREEN_NAME,
            Encryptor.encrypt(company.getKeyObj(), user.getScreenName()));

    if (Validator.isNotNull(domain)) {
        screenNameCookie.setDomain(domain);
    }

    screenNameCookie.setMaxAge(loginMaxAge);
    screenNameCookie.setPath(StringPool.SLASH);

    boolean secure = request.isSecure();

    if (secure && !PropsValues.COMPANY_SECURITY_AUTH_REQUIRES_HTTPS
            && !StringUtil.equalsIgnoreCase(Http.HTTPS, PropsValues.WEB_SERVER_PROTOCOL)) {

        Boolean httpsInitial = (Boolean) session.getAttribute(WebKeys.HTTPS_INITIAL);

        if ((httpsInitial == null) || !httpsInitial.booleanValue()) {
            secure = false;
        }
    }

    CookieKeys.addCookie(request, response, companyIdCookie, secure);
    CookieKeys.addCookie(request, response, idCookie, secure);
    CookieKeys.addCookie(request, response, userUUIDCookie, secure);

    if (rememberMe) {
        CookieKeys.addCookie(request, response, loginCookie, secure);
        CookieKeys.addCookie(request, response, passwordCookie, secure);
        CookieKeys.addCookie(request, response, rememberMeCookie, secure);
        CookieKeys.addCookie(request, response, screenNameCookie, secure);
    }

    AuthenticatedUserUUIDStoreUtil.register(userUUID);
}