2016-10-03 2 views
0

Я отчаянно пытаюсь воспроизвести пример здесь для моего LifeRay TOMCAT пачки: http://liferay-blogging.blogspot.be/2011/08/how-to-change-liferay-login-module.htmlкак переопределить аутентификацию LifeRay

Я воссоздан пакетом автора и класс:

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; 
} 

} 

Я экспортированный пакет как баночка файл, который я поместил в LR-портала/TOMCAT папку/Библиотека/внутр

Я добавил 2 строки:

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

в стандартном файле portal.properties, расположенном в LR-портале/TOMCAT/webapps/ROOT/WEB-INF/lib/portlet_impl.jar. Я знаю, что это должно быть в файле portal-ext.properties, но это все равно не сработало, поэтому я устранил все возможные побочные эффекты.

К сожалению, Liferay продолжает регистрировать моих пользователей в обычном режиме. Я прочитал о крючках и ext методах выполнения пользовательского кода в Liferay, чтобы я мог что-то упустить. Я прочитал много сообщений на форуме, прежде чем писать здесь.

Я использую комплект поставки tomerat liferay-ce-portal-7.0-ga3.

Спасибо.

+0

, как предлагает сообщение в блоге, попробуйте использовать ext для этого, а также использовать sserver в режиме отладки для проверки потока в соответствующий класс во время аутентификации –

ответ

0

спасибо за ваши мысли. Я, наконец, обошел это, используя крючок. Я основывался на плагине аутентификации Shibboleth для Liferay (см. Github). Он изначально построен в maven, но мне удалось преобразовать его в муравей, чтобы иметь возможность использовать среду LIFE Plugin SDK.

1

Если вы хотите переопределить аутентификацию Liferay, вы должны создать компонент hook для переопределения пользовательского входа.

Он должен реализовать фильтр, чтобы перехватить заголовок запроса и изменить метод, используемый порталом для входа в систему.

Я надеюсь, что это будет полезно для вас.

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