Ich bin Liferay 6.2 AuthVerifier implementieren. Ich habe es entwickelt, aber es wird nicht als TestAuthVerifier.verify() -Methode bezeichnet.Wie bekomme ich Liferay Authverifer arbeiten
Ich bezog https://docs.liferay.com/portal/6.2/propertiesdoc/portal.properties.html den Link, um den est AuthVerifer zu entwickeln. Hier ist was ich unter
Ich mache Einträge in portal-ext.properties Datei wie folgt und entwickeln Sie die Klasse weiter.
auth.verifier.pipeline=com.test.TestAuthVerifier
auth.verifier.TestAuthVerifier.version.supported=1.0
mein code ist als unten nur als referenz.
package comt.test;
import com.liferay.portal.security.auth.*;
public class TestAuthVerifier implements AuthVerifier {
@Override
public String getAuthType() {
return PhAuthVerifier.class.getSimpleName();
}
@Override
public AuthVerifierResult verify(
AccessControlContext accessControlContext, Properties properties)
throws AuthException {
System.out.println("MyAuthVerifier.verify() invoked..")
try {
.....
return authVerifierResult;
} catch (AutoLoginException e) {
throw new AuthException(e);
}
}
Debugging von Liferay 6.2.3 Quellcode ich den Punkt sehen, wenn
der Fluss unterbrochen ist AuthVerifierPipeline._mergeAuthVerifierConfiguration ist() Methode. die Anweisung: Map settings = accessControlContext.getSettings(); gibt eine Nullgrößenkarte zurück.
Schließlich ist die tatsächliche Stelle, an der der Verifier aufgerufen wird: AuthVerifierPipeline._verifyRequest() wird nicht ausgeführt, da List authVerifierConfigurations ZERO-Größe ist.
Ich schaute in der AccessControlContext-Klasse und anderen Klassen, ich konnte keine Setter-Methode zu setzen _settings oder Referenzen, die diese var festlegen.
jede Hilfe rund um dies wird sehr geschätzt.
Hinweis: Ich habe überprüft, dass LifeRay mein TestAuthVerifier impl erkennt.
ich denke, müssen Sie überschreiben die portal.properties in einem Haken die Eigenschaften setzen und setzen th e Klasse im selben Projekt –
können Sie bitte in etwas mehr Details erklären und Antwort Abschnitt einfügen – spectre007