留言板
Login Portlet
Sziasztok!
A Liferay beépített Login portlet-jét használom, de szükségem lenne arra, hogy sikeres Login után lefuttassak egy kódot (van olyan portletem aminek auth-olnia kell).
Megoldható ez a Liferay login portletjének módosítása nélkül?
A Liferay beépített Login portlet-jét használom, de szükségem lenne arra, hogy sikeres Login után lefuttassak egy kódot (van olyan portletem aminek auth-olnia kell).
Megoldható ez a Liferay login portletjének módosítása nélkül?
Szia!
Hozz létre plugin SDK-val egy új plugint (a sevencogs hook lemásolásával szokás egyelőre) és abba tegyél bele egy event handlert, ami a login.events.post eseményre hallgat.
Leírást a hookokról itt találsz: Portal Hook Plugins
Üdv:
Zsolt
Hozz létre plugin SDK-val egy új plugint (a sevencogs hook lemásolásával szokás egyelőre) és abba tegyél bele egy event handlert, ami a login.events.post eseményre hallgat.
Leírást a hookokról itt találsz: Portal Hook Plugins
Üdv:
Zsolt
Köszönöm a válaszokat, de további problémám lenne.
Sikeresen telepítettem a hook-ot ([HookHotDeployListener:379] Hook for login-hook is available for use), de login után nem történik semmi (se exception, se log).
Mi lehet a gond?
liferay-hook.xml:
<hook>
<portal-properties>portal.properties</portal-properties>
</hook>
portal.properties:
login.events.post=com.hooks.login.LoginAction
LoginAction.java:
package com.hooks.login.LoginAction;
import com.liferay.portal.kernel.events.SimpleAction;
import com.liferay.portal.kernel.events.ActionException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LoginAction extends SimpleAction {
private static Log _log = LogFactory.getLog(LoginAction.class);
public void run(String[] ids) throws ActionException {
try {
_log.info("post login");
}
catch (Exception e) {
throw new ActionException(e);
}
}
}
Sikeresen telepítettem a hook-ot ([HookHotDeployListener:379] Hook for login-hook is available for use), de login után nem történik semmi (se exception, se log).
Mi lehet a gond?
liferay-hook.xml:
<hook>
<portal-properties>portal.properties</portal-properties>
</hook>
portal.properties:
login.events.post=com.hooks.login.LoginAction
LoginAction.java:
package com.hooks.login.LoginAction;
import com.liferay.portal.kernel.events.SimpleAction;
import com.liferay.portal.kernel.events.ActionException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LoginAction extends SimpleAction {
private static Log _log = LogFactory.getLog(LoginAction.class);
public void run(String[] ids) throws ActionException {
try {
_log.info("post login");
}
catch (Exception e) {
throw new ActionException(e);
}
}
}
Szia!
Szerintem érdemesebb lenne az event-tel megpróbálni ráakaszkodni az eseményre.
Első pillantásra amúgy ez a módszer is jónak tűnik, talán az lehet a gond, hogy a log level nem elég nagy, próbáld beállítani a loglevelt erre a fájlra, vagy _log.error-ral tesztelj
Zsolt
Szerintem érdemesebb lenne az event-tel megpróbálni ráakaszkodni az eseményre.
Első pillantásra amúgy ez a módszer is jónak tűnik, talán az lehet a gond, hogy a log level nem elég nagy, próbáld beállítani a loglevelt erre a fájlra, vagy _log.error-ral tesztelj
Zsolt