我有兩個網站(site1
和site2
)和兩個組(group1
和group2
)。我在這兩個網站上都有Sign In
Liferay的portlet。我希望如果用戶在site1
上註冊Sign In
portlet,則用戶被分配到group1
,並且如果用戶在site2
上註冊Sign In
portlet,則用戶被分配到group2
。如何根據網站設置默認組
怎麼辦?
===編輯===
我試着用Struts動作寫掛鉤,但它不爲我工作。
Liferay的-hook.xml:
<hook>
<struts-action>
<struts-action-path>/login/create_account</struts-action-path>
<struts-action-impl>com.mypackage.CreateAccountAction</struts-action-impl>
</struts-action>
</hook>
CreateAccountAction.java:
package com.mypackage;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletConfig;
import com.liferay.portal.kernel.struts.BaseStrutsPortletAction;
import com.liferay.portal.kernel.struts.StrutsPortletAction;
public class CreateAccountAction extends BaseStrutsPortletAction {
public void processAction(StrutsPortletAction originalStrutsPortletAction,
PortletConfig portletConfig, ActionRequest actionRequest,
ActionResponse actionResponse) throws Exception {
System.out.println("CreateAccountAction");
originalStrutsPortletAction.processAction(originalStrutsPortletAction,
portletConfig, actionRequest, actionResponse);
}
}
點擊創建帳戶情況:
12:25:38,177 ERROR [http-bio-8078-exec-126][PortletRequestProcessor:466] Forward does not exist
謝謝您的回答分配用戶組。我是Liferay的一名成員,我無法使用你的答案。我編輯了我的問題,以顯示我嘗試使用您的答案。你能寫一些示例代碼嗎?謝謝。 – Mariusz
也請重寫渲染方法以避免此錯誤。 –
我不知道如何從'themeDisplay'獲取用戶。 'themeDisplay.getUser()'返回一些默認的liferay用戶,郵件爲'default @ liferay.com'。我不需要當前組,我需要'group1' id或'group2' id,我應該按名稱查找組。 – Mariusz