我正在使用 Liferay 6.1,我想覆盖默认的 Liferay 登录身份验证并设置我的自定义身份验证。
到目前为止,我所做的是,我创建了一个钩子插件并在 portal.properties 文件中设置了以下属性
auth.pipeline.pre=com.liferay.portal.security.auth.MyCustomAuthenticator
auth.pipeline.enable.liferay.check=false
其中 MyCustomAuthenticator 是我的自定义身份验证器类(它实现了 Authenticator)。
目前,Liferay 会首先检查此自定义身份验证,但随后又会转到 Liferay 本身进行进一步的 Liferay 身份验证。
我想覆盖这个 Liferay 验证。请帮我解决这个问题。这是我的身份验证器类:
public class MyCustomAuthenticator implements Authenticator {
public int authenticateByEmailAddress(long arg0, String arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException {
System.out.println("succeeded by mail");
return SUCCESS;
}
public int authenticateByScreenName(long arg0, String arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException {
System.out.println("succeeded by screen name");
return SUCCESS;
}
public int authenticateByUserId(long arg0, long arg1, String arg2, Map<String, String[]> arg3, Map<String, String[]> arg4) throws AuthException {
System.out.println("succeeded by user id");
return SUCCESS;
}
}