2016-10-03 22 views
0

ich verzweifelt versuche das Beispiel hier für meine liferay tomcat Bündel zu reproduzieren: http://liferay-blogging.blogspot.be/2011/08/how-to-change-liferay-login-module.htmlwie außer Kraft zu setzen liferay Authentifizierung

ich das Paket des Autors neu erstellt haben und Klasse:

package de.test.auth; 

import java.util.Map; 
import com.liferay.portal.security.auth.AuthException; 
import com.liferay.portal.security.auth.Authenticator; 

public class RefuseAuthenticator implements Authenticator { 

public int authenticateByEmailAddress(long arg0, String arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException { 

    System.out.println("failed by mail"); 
    return FAILURE; 
} 

public int authenticateByScreenName(long arg0, String arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException { 

    System.out.println("failed by screen name"); 
    return FAILURE; 
} 

public int authenticateByUserId(long arg0, long arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException { 

    System.out.println("failed by user id"); 
    return FAILURE; 
} 

} 

exportierte ich das Paket als eine jAR-Datei, die ich

ich habe die zwei Linien in LR-portal/TOMCAT/lib/ext Ordner abgelegt:

auth.pipeline.enable.liferay.check=false 
auth.pipeline.pre=de.test.auth.RefuseAuthenticator 

in der Standarddatei portal.properties, die sich in LR-portal/TOMCAT/webapps/ROOT/WEB-INF/lib/portlet_impl.jar befindet. Ich weiß, dass es in einer portal-ext.properties-Datei sein soll, aber es hat nicht funktioniert, also habe ich alle möglichen Nebenwirkungen beseitigt.

Leider fährt Liferay fort, meine Benutzer normalerweise aufzuzeichnen. Ich lese über Hooks und ext Methoden, um benutzerdefinierten Code in Liferay zu tun, damit ich etwas vermisse. Ich habe viele Forenbeiträge gelesen, bevor ich hier geschrieben habe.

Ich benutze liveray-ce-portal-7.0-ga3 Tomcat Bundle.

Danke.

+0

Wie im Blog-Beitrag vorgeschlagen, versuchen Sie, eine ext für diese verwenden und auch im Debug-Modus sserver verwenden, um den Fluss zu der jeweiligen Klasse während der Authentifizierung zu überprüfen –

Antwort

0

danke für deine gedanken. Endlich habe ich das mit einem Haken gelöst. Ich gründete mein Selbst auf Shibboleth Authentifizierungs-Plugin für Liferay (siehe GitHub). Es wurde ursprünglich in Maven erstellt, aber ich habe es in eine Ameise konvertiert, um die Liferay Plugin SDK-Umgebung nutzen zu können.

1

Wenn Sie die Liferay-Authentifizierung außer Kraft setzen möchten, müssen Sie eine Hook-Komponente erstellen, um die benutzerdefinierte Anmeldung zu überschreiben.

Es muss einen Filter implementieren, um den Anforderungsheader abzufangen und die Methode zu ändern, die das Portal für die Anmeldung verwendet.

Ich hoffe, dass dies für Sie nützlich sein wird.

Verwandte Themen