如何忽略Liferay用户从LDAP错误中删除?

时间:2015-06-02 12:26:57

标签: ldap log4j liferay liferay-6 openldap

我有一个连接到LDAP的Liferay 6.1实例。新用户可以很好地导入,但是当我从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

我怎么能说服Liferay这是真的好吗?或者我还应该做些什么呢?

1 个答案:

答案 0 :(得分:0)

在Liferay支持LDAP中缺少用户之前,您可以关闭此特定邮件的日志记录。只需使用以下内容创建文件 ROOT.war / WEB-INF / classes / META-INF / portal-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找到有关登录的更多信息。