Вопрос по – Как переопределить стандартную аутентификацию Liferay Login?
Я использую Liferay 6.1, и я хочу переопределить аутентификацию Liferay Login по умолчанию и хочу настроить свою собственную аутентификацию.
До сих пор я создал подключаемый модуль и настроил следующие свойства в файле 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;
}
}
а затем перезапустите сервер.
auth.pipeline.enable.liferay.check=false
с этими двумя строками в моем перехвате port.properties переопределите И в portal-ext.properties для хорошей меры:
auth.pipeline.pre=com.liferay.portal.security.auth.MyCustomAuthenticator
auth.pipeline.enable.liferay.check=false
Однако, похоже, что он не хочет входить в Liferay, даже если учетная запись уже существует. Я смог заставить его работать полностью и вообще пропустить аутентификацию Liferay. Все, что мне нужно, это переопределить порталы.properties, я удалил 2 строки из portal-ext. В вашем пользовательском аутентификаторе вместо простого возврата SUCCESS (com.liferay.portal.security.auth.Authenticator.SUCCESS)
Вы хотите вернуть SKIP_LIFERAY_CHECK. Это то же самое, что УСПЕХ, за исключением того, что убедитесь, что конвейер аутентификации знает, что нужно пропустить проверку liferay.
Это должно заставить его работать. Я считаю, что исходный код (для Liferay 6.2 ga5) неправильно учитывает & quot; Пропустить проверку Liferay & quot; собственность, и это по существу заставляет его.