2015-06-02 4 views
0

У меня есть экземпляр Liferay 6.1, который подключен к LDAP. Новые пользователи легко импортируются, но когда я удаляю пользователя из каталога LDAP, Liferay начинает бросать исключения, когда пытается синхронизировать пользователей с LDAP.Как игнорировать пользователя Liferay от ошибок LDAP?

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

16:13:54,422 ERROR [liferay/scheduler_dispatch-790][PortalLDAPImporterImpl:995] LDAP user not found with fullUserDN cn=foobar,ou=people,o=foo,dc=bar,dc=baz 
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object]; remaining name 'cn=foobar,ou=people,o=foo,dc=bar,dc=baz' 
    at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3057) 
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2978) 
    ... etc 

Как я мог убедить Лиферэй, что это действительно так? Или есть что-то еще, что я должен делать?

+0

[Исходный код Liferay] (https://github.com/liferay/liferay-portal/blob/6.1.x/portal-impl/src/com/liferay/portal/security/ldap/PortalLDAPImporterImpl.java) предлагает нет вариантов для этого. Может быть, вы могли бы спросить [sf], есть ли операция «чистки», которую вы можете запустить периодично? – ixe013

+0

Звучит как ошибка для меня - не могли бы вы проверить [Lifferays bug database] (https://issues.liferay.com/) для любой существующей проблемы и сообщить об этом в качестве ошибки? –

+0

@TobiasLiefke Спасибо за подсказку. Вместо этого я добавил запрос функции, поскольку я думаю, что это больше похоже на недостающую функцию, чем на ошибку. Я уверен, что они будут реклассифицированы, если я ошибаюсь. Https://issues.liferay.com/browse/LPS-56086 – Nenotlep

ответ

0

До тех пор, пока отсутствующие пользователи LDAP не поддерживаются Liferay, вы можете отключить ведение журнала для этого конкретного сообщения. Просто создайте файл ROOT.war/WEB-INF/классы/META-INF/портального-log4j-ext.xml со следующим содержанием:

<?xml version="1.0"> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <!-- Copy all appenders from 
     ROOT.war/WEB-INF/lib/portal-impl.jar/META-INF/portal-log4j.xml 
     and add the following filter: --> 
    <appender ...> 
     ... 
     <filter class="org.apache.log4j.filter.StringMatchFilter"> 
      <param name="StringToMatch" value="LDAP user not found with fullUserDN" /> 
      <param name="AcceptOnMatch" value="false" /> 
     </filter> 
    </appender> 

    <!-- Keep the root definition from portal-log4j.xml 
     to trigger the parsing of the appenders: --> 
    <root> 
     <priority value="INFO" /> 
     <appender-ref ref="CONSOLE" /> 
     <appender-ref ref="FILE" /> 
    </root> 
</log4j:configuration> 

Вы можете узнать больше о входе в Liferay Wiki.

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