Fórumok

Login Portlet

Mihaly Nadudvari, módosítva 14 év-val korábban

Login Portlet

Junior Member Bejegyzések: 35 Csatlakozás dátuma: 2010.02.22. Legújabb bejegyzések
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?
thumbnail
Zsolt Balogh, módosítva 14 év-val korábban

RE: Login Portlet

Expert Bejegyzések: 463 Csatlakozás dátuma: 2009.03.23. Legújabb bejegyzések
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
Mihaly Nadudvari, módosítva 14 év-val korábban

RE: Login Portlet

Junior Member Bejegyzések: 35 Csatlakozás dátuma: 2010.02.22. Legújabb bejegyzések
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);
}
}
}
thumbnail
Zsolt Balogh, módosítva 14 év-val korábban

RE: Login Portlet

Expert Bejegyzések: 463 Csatlakozás dátuma: 2009.03.23. Legújabb bejegyzések
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 emoticon

Zsolt
Mihaly Nadudvari, módosítva 14 év-val korábban

RE: Login Portlet

Junior Member Bejegyzések: 35 Csatlakozás dátuma: 2010.02.22. Legújabb bejegyzések
Működik minden. Annyi volt a probléma, hogy:

SimpleAction helyett az Action-t kellett extendelni.

Köszönöm a segítséget.
Vilmos Papp, módosítva 3 hónap-val korábban

RE: Login Portlet

Regular Member Bejegyzések: 131 Csatlakozás dátuma: 2009.05.04. Legújabb bejegyzések
A hook plugin post login action-jét használhatod, ha szükséged van példára tudok mutatni.