2012-05-17 3 views
1

Я использую Liferay 6.1, и я хочу переопределить аутентификацию по умолчанию Liferay Login и хочу настроить свою собственную аутентификацию.Как переопределить аутентификацию по умолчанию Liferay?

До сих пор, что я сделал это, я создал крюк-плагин и настроили следующие свойства в portal.properties файл

auth.pipeline.pre=com.liferay.portal.security.auth.MyCustomAuthenticator 
auth.pipeline.enable.liferay.check=false 

где MyCustomAuthenticator моего пользовательского аутентификатора класс (который реализует Authenticator).

В настоящее время Liferay проверяет эту пользовательскую аутентификацию 1-го, но затем снова переходит к 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; 
    } 

} 
+0

Можете ли вы разместить свой код для своего класса? –

ответ

4

Добавьте следующее свойство в portal-ext.properties и перезапустите сервер

auth.pipeline.enable.liferay.check=false 
+0

Я дал это. Но его не работает. –

+1

Это должно сработать. Перейдите по этой ссылке: http://www.liferay.com/documentation/liferay-portal/6.1/user-guide/-/ai/authentication-pipeline. Вы также должны позаботиться о том, чтобы справляться со всеми другими случаями, когда ошибка авторизации завершается, максимальные попытки журнала и т. Д. Обязательно перезапустите сервер после изменения каких-либо свойств. А также попробуйте очистить JVM портала, дамп потока и т. Д. От Администрации портала на панели управления –

1

Вспомнил в вашем крючках проекта в файле portal.properties

place auth.pipeline.pre =com.liferay.portal.security.auth.MyCustomAuthenticator 
auth.pipeline.enable.liferay.check = false 

а также в портале-ext-properties

0

Я сделал ах ООК таким же образом, с этими двумя линиями в моем крюке portal.properties переопределение, И в portal-ext.properties для хорошей меры:

auth.pipeline.pre=com.liferay.portal.security.auth.MyCustomAuthenticator 
auth.pipeline.enable.liferay.check=false 

Однако это, казалось, не хотел войти в Liferay, даже если учетная запись уже существует. Мне удалось полностью его запустить и вообще пропустить аутентификацию Liferay. Перехват hook.properties - это все, что мне нужно, я удалил 2 строки из портала-ext. В своем пользовательском Authenticator вместо того, чтобы просто вернуть УСПЕХ, (com.liferay.portal.security.auth.Authenticator.SUCCESS)

Вы хотите вернуть SKIP_LIFERAY_CHECK. Это то же самое, что и УСПЕХ, за исключением того, что конвейер аутентификации знает, чтобы пропустить проверку liferay.

Это должно заставить его работать. Я считаю, что исходный код (для Liferay 6.2 ga5) не учитывает должным образом свойство «Пропустить Liferay Check», и это по существу вынуждает его.

Смежные вопросы