2011-01-03 1 views
0

リクエストがあったときに呼び出されるフック(クラスはAutoLoginから拡張されています)を書いています。 私のクラスのloginメソッドでは、リクエストとともに送信されたリクエストパラメータを認証するロジックがあります。認証がクリアされている場合、ユーザはLiferayのに存在しない場合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 

に、これはoccuringすることができ、なぜ任意のアイデアを提供しますか? また、管理者としてポータルにログインしたときにユーザー作成が成功した場合、このユーザーはユーザーの一覧に表示されません。 これはなぜ起こっているのでしょうか?私はどこかで間違っていますか?

答えて

0

ユーザーを追加する方法が間違っているためです。詳細は、エンタープライズ管理ポートレット・ソースのeditUserAction.javaを確認してください。

関連する問題