Foren

Custom Login Portlet in Liferay 6.1 by extending login portlet using hooks

Ugandhar Reddy, geändert vor 11 Jahren.

Custom Login Portlet in Liferay 6.1 by extending login portlet using hooks

Junior Member Beiträge: 25 Beitrittsdatum: 21.11.11 Neueste Beiträge
Hi All,

I find difficulties to write my custom login portlet, But at last i found solution.
It may be helpful to someone else.
In liferay 6.1 we can extend the /login/login struts action using hooks and write our own logic and add extra UI elements and get the same.
1. Define the struts action in liferay-hooks.xml

<struts-action>
<struts-action-path>/login/login</struts-action-path>
<struts-action-impl>com.sample.hook.CustomLoginAction</struts-action-impl>
</struts-action>
2. Extend liferay login.jsp and write your own logic and elements, but login and password input text fields should be present.

<custom-jsp-dir>/custom_jsps</custom-jsp-dir>

3. define Portal.properties in hooks project like below.
auth.public.paths=/login/login

4. Write your CustomLoginAction class like below by calling original Login struts action.

public class CustomLoginAction extends BaseStrutsPortletAction {

@Override
public void processAction(StrutsPortletAction originalStrutsPortletAction,
PortletConfig portletConfig, ActionRequest actionRequest,
ActionResponse actionResponse) throws Exception {

// This will call the Liferay default Login portlet and authenticate the liferay portal.
originalStrutsPortletAction.processAction(originalStrutsPortletAction,portletConfig, actionRequest, actionResponse);

// if you added any extra inputs in login.jsp
String language = ParamUtil.getString(actionRequest, "language");
String redirect = ParamUtil.getString(actionRequest, "redirect");
// you can provide any private page friendly url to redirect like below.
actionResponse.sendRedirect("/group/proj/home");
}

@Override
public String render(StrutsPortletAction originalStrutsPortletAction,
PortletConfig portletConfig, RenderRequest renderRequest,
RenderResponse renderResponse) throws Exception {

return originalStrutsPortletAction.render(originalStrutsPortletAction,
portletConfig, renderRequest, renderResponse);
}

}
thumbnail
Bart Simpson, geändert vor 11 Jahren.

RE: Custom Login Portlet in Liferay 6.1 by extending login portlet using ho

Liferay Master Beiträge: 522 Beitrittsdatum: 29.08.11 Neueste Beiträge
You can also create a wiki page for sharing information.
Jaimin Patel, geändert vor 7 Jahren.

RE: Custom Login Portlet in Liferay 6.1 by extending login portlet using ho

New Member Beitrag: 1 Beitrittsdatum: 04.12.13 Neueste Beiträge
This will redirect the user even if authentication fails which will be invalid.
Do you have any solution for this?