Liferay AutoLogin Текущая проблема со входом - PullRequest
0 голосов
/ 28 мая 2019

Код автоматического входа, написанный на основе документации Liferay 7. Пользователь успешно вошел в систему, но проблема возникает после того, как пользователь вошел в систему, Liferay повторно вызывает предварительный вход и автоматический вход снова.

 public String[] login(
   {
    final String[] credentials = new String[3];
    Cookie cookie = getCookie((HttpServletRequest) request, PropsUtil.get(COOKIE_NAME));

    if(cookie == null){
        request.setAttribute(AutoLogin.AUTO_LOGIN_REDIRECT, getRedirectUrl(request));
    }else{
        ValidateCookieResponse validateCookieResponse = Authenticate(cookie.getValue());
        if(validateCookieResponse != null){
                String userName = validateCookieResponse.getUser().getUserLogin();                                                  
                    if (StringUtils.isBlank(userName)){
                        request.setAttribute(AutoLogin.AUTO_LOGIN_REDIRECT, getRedirectUrl(request));
                    }else{
                        long companyId = PortalUtil.getCompanyId(request);
                        com.liferay.portal.kernel.model.User user = null;
                        try {
                            user = UserLocalServiceUtil.getUserByScreenName(companyId, userName);
                        } catch (PortalException e) {
                            request.setAttribute(AutoLogin.AUTO_LOGIN_REDIRECT, getRedirectUrl(request));
                        }
                        if(user != null){   

                            credentials[0] = String.valueOf(user.getUserId());
                            credentials[1] = user.getPassword()
                            credentials[2] = String.valueOf(user.isPasswordEncrypted()) ;                                                              
                            return credentials;
                        }else{

                            request.setAttribute(AutoLogin.AUTO_LOGIN_REDIRECT, getRedirectUrl(request));
                        }
                    }
                }
            }
        }else{

            request.setAttribute(AutoLogin.AUTO_LOGIN_REDIRECT, getRedirectUrl(request));
        }
    return credentials;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...