Как зашифровать пароль при сохранении пользователей в Liferay 6.1?

Я пытаюсь использовать сущность пользователя Liferay для добавления пользователей путем написания кода. Пароль не шифруется, поэтому войти не получается. Код вставляется ниже.

    int countOfUsr = UserLocalServiceUtil.getUsersCount();
    User user = UserLocalServiceUtil.createUser(countOfUsr + 1);
    Date date = new Date();
    user.setCompanyId(countOfUsr + 1);
    user.setCreateDate(date);
    user.setModifiedDate(date);
    user.setDefaultUser(false);
    user.setContactId(countOfUsr + 1);
    user.setPasswordEncrypted(true);
    user.setAgreedToTermsOfUse(true);
    user.setPassword("123");
    user.setPasswordReset(false);
    user.setPasswordModifiedDate(date);
    user.setReminderQueryQuestion("what-is-your-father's-middle-name");
    user.setReminderQueryAnswer("daddad");
    user.setGraceLoginCount(0);
    user.setScreenName("shibu");
    user.setFirstName("SHIBU");
    user.setEmailAddress("[email protected]");
    user.setFacebookId(0);
    user.setOpenId("");
    user.setPortraitId(0);
    user.setLanguageId("en_US");
    user.setTimeZoneId("GMT");
    UserLocalServiceUtil.addUser(user);
  1. Как изменить код, чтобы правильно сохранить пользователя?
  2. Что делать для шифрования pssword?
  3. Как указать значение для user.setDigest(arg)?

person Boat    schedule 23.01.2013    source источник


Ответы (2)


Укажите алгоритм шифрования для шифрования паролей в portal-ext.properties файле.

Например,

passwords.encryption.algorithm=SHA //Проверьте различные алгоритмы в portal.properties

person Vikas V    schedule 24.01.2013

Я думаю, вам следует использовать UserLocalServiceUtil.addUser(whole bunch of arguments) вместо UserLocalServiceUtil.addUser(User). Он сделает то, что вы хотите: создайте своего пользователя и зашифруйте пароль.

Сигнатура метода:

public User addUser(
        long creatorUserId, long companyId, boolean autoPassword,
        String password1, String password2, boolean autoScreenName,
        String screenName, String emailAddress, long facebookId,
        String openId, Locale locale, String firstName, String middleName,
        String lastName, int prefixId, int suffixId, boolean male,
        int birthdayMonth, int birthdayDay, int birthdayYear,
        String jobTitle, long[] groupIds, long[] organizationIds,
        long[] roleIds, long[] userGroupIds, boolean sendEmail,
        ServiceContext serviceContext)
    throws PortalException, SystemException

Осторожно: если ваш пароль не подтверждает политику паролей, он выдаст UserPasswordException

person TahitianGabriel    schedule 19.04.2013