Set windowState on login page failure

Prathibha h m, modified 11 Years ago. Junior Member Posts: 74 Join Date: 9/17/09 Recent Posts
Hi All,

Login portlet by default windowstate is NORMAL but on failure it goes to MAXIMIZED .

If I check LoginAction,

portletURL.setWindowState(WindowState.MAXIMIZED);


I am using login hook in which I have overriden login.jsp. How can reset this value to NORMAL after failure. I want the window to be NORMAL even for authentication failure.

Please help.

Regards,
Prathibha
Benjamin Rozsenich, modified 10 Years ago. New Member Posts: 3 Join Date: 4/14/14 Recent Posts
hi all,

i have the same problem.
i create a login hokk and was trying in login_std.jsp to change the actionURL like:

<portlet:actionURL windowState="<%= WindowState.NORMAL.toString() %>" var="loginURL">
<portlet:param name="saveLastPath" value="0" />
<portlet:param name="struts_action" value="/login/login" />
<portlet:param name="doActionAfterLogin" value="<%= portletName.equals(PortletKeys.FAST_LOGIN) ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" />
<portlet:param name="p_p_state" value="normal" />
</portlet:actionURL>


but without success.

the problem appears when liferay error messages are displayed.

im using liferay 6.2.10 with tomcat server.
Benjamin Rozsenich, modified 10 Years ago. New Member Posts: 3 Join Date: 4/14/14 Recent Posts
i created my own LoginAction.java and override only following line:

// portletURL.setWindowState(WindowState.MAXIMIZED);
portletURL.setWindowState(WindowState.NORMAL);


i created it directly in login hook and added following maven dependencies

<dependencies>
<!-- Liferay -->
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-bridges</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-taglib</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>util-java</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-impl</artifactId>
<version>6.2.1</version>
<scope>provided</scope>

<exclusions>
<exclusion>
<!-- declare the exclusion here -->
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- Portlet API -->
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<scope>provided</scope>
</dependency>

<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>

<!-- Struts
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.20</version>
</dependency> -->

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts-core</artifactId>
<version>1.3.10</version>
<scope>provided</scope>
</dependency>

and my liferay-hook.xml

<hook>

<language-properties>Language.properties</language-properties>
<language-properties>Language_en_GB.properties</language-properties>
<language-properties>Language_en_US.properties</language-properties>
<language-properties>Language_de_DE.properties</language-properties>
<language-properties>Language_tr_TR.properties</language-properties>
<custom-jsp-dir>/META-INF/custom_jsps</custom-jsp-dir>

<struts-action>
<struts-action-path>/login/login</struts-action-path>
<struts-action-impl>com.ebcont.econtrol.action.MyLoginAction</struts-action-impl>
</struts-action>


</hook>

now i have a log4j exception.

i think the reason is this dependencie

<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-impl</artifactId>
<version>6.2.1</version>

<scope>provided</scope>
...
</dependency>


is there a possibility to create do it this way without ext plugin? because i'm changing only 1 line of code.
Benjamin Rozsenich, modified 10 Years ago. New Member Posts: 3 Join Date: 4/14/14 Recent Posts
Stacktrace:

log4j:ERROR Could not create an Appender. Reported error follows.
java.lang.ClassCastException: org.apache.log4j.rolling.RollingFileAppender cannot be cast to org.apache.log4j.Appender
at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:248)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:176)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:191)
at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:523)
at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:492)
at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:1001)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:867)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:815)
at com.liferay.util.log4j.Log4JUtil.configureLog4J(Log4JUtil.java:113)
at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.initLogger(PluginPackageHotDeployListener.java:182)
at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.doInvokeDeploy(PluginPackageHotDeployListener.java:130)
at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.invokeDeploy(PluginPackageHotDeployListener.java:61)
at com.liferay.portal.deploy.hot.HotDeployImpl.doFireDeployEvent(HotDeployImpl.java:208)
at com.liferay.portal.deploy.hot.HotDeployImpl.fireDeployEvent(HotDeployImpl.java:95)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:27)
at com.liferay.portal.kernel.servlet.PluginContextListener.fireDeployEvent(PluginContextListener.java:164)
at com.liferay.portal.kernel.servlet.PluginContextListener.doPortalInit(PluginContextListener.java:154)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:44)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:64)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:56)
at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:54)
at com.liferay.portal.kernel.servlet.PluginContextListener.contextInitialized(PluginContextListener.java:116)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1113)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1671)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
thumbnail
Rahul Pande, modified 10 Years ago. Expert Posts: 310 Join Date: 7/7/10 Recent Posts

i think the reason is this dependencie

<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-impl</artifactId>
<version>6.2.1</version>

<scope>provided</scope>
...
</dependency>


is there a possibility to create do it this way without ext plugin? because i'm changing only 1 line of code.


You should not use portal-impl dependency in hook plugin or other plugin for that matter. Please refer this link for more information on overriding LoginAction
Prashanth Relekar, modified 6 Years ago. New Member Posts: 17 Join Date: 9/20/18 Recent Posts
I am facing same issue in Liferay 7.1

Is there any possiblity to override this behavior in login.jsp fragment. Please let me know.
thumbnail
Minhchau Dang, modified 6 Years ago. Liferay Master Posts: 598 Join Date: 10/22/07 Recent Posts
Prashanth Relekar:
I am facing same issue in Liferay 7.1

Is there any possiblity to override this behavior in login.jsp fragment. Please let me know.

No, it's not possible to do using a JSP fragment, since the code that's setting it to maximized is the LoginMVCActionCommand, which the JSP has no control over.

You will probably need to follow the tutorial on Overriding MVCAcctionCommand to override the behavior.

Prashanth R V, modified 6 Years ago. New Member Posts: 17 Join Date: 9/20/18 Recent Posts

Thanks bro, the tutorial link provided by you was helpful.