Авторизация Войти в Liferay - PullRequest
       35

Авторизация Войти в Liferay

0 голосов
/ 03 января 2011

Я написал хук (класс, расширяющийся от AutoLogin), который вызывается при выполнении любого запроса.В методе входа в мой класс у меня есть логика для аутентификации параметров запроса, отправленных с запросом.

Теперь Если аутентификация сброшена, я проверяю, существует ли пользователь в liferay, используя

UserLocalServiceUtil.getUserByScreenName(companyId, username)

Теперь, если пользователь не существует в liferay, я добавляю пользователя в liferay

user = UserLocalServiceUtil.createUser(contactId);

user.setFirstName(fname);
user.setLastName(lname);
user.setActive(true);
user.setAgreedToTermsOfUse(true);
user.setCreateDate(new Date());
user.setScreenName(username);
user.setCompanyId(companyId);
user.setPassword("test");
user = UserLocalServiceUtil.addUser(user);

Теперь здесь я вижу, что пользователь создается.Однако иногда это дает следующее исключение

com.liferay.portal.kernel.dao.orm.ORMException: org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update

Есть идеи, почему это может происходить?Также, если создание пользователя прошло успешно, когда я захожу на портал как администратор, этот пользователь не будет указан в списке пользователей.Есть идеи, почему это происходит?Я что-то не так делаю?

1 Ответ

0 голосов
/ 19 января 2011

Это потому, что вы используете неправильный метод для добавления пользователя.Обратитесь к editUserAction.java под источником портлета enterprise-admin для получения более подробной информации.

...