Openfire中的LDAP配置问题:NullPointerException

时间:2014-07-14 11:32:18

标签: ldap

以下是我的OpenLDAP结构:

  

+ - > dc = test,dc = com(3)   ---> CN =管理员   + - > ou = groups(3)| ---> cn = admin | ---> cn = irc | ---> cn =用户| --->在这里创建新条目   + - > ou = users(4)| ---> cn = user1 | ---> cn = user2 | ---> cn = user3 | ---> CN = USER4

Openfire中的设置: 步骤1 : 港口:389 基本DN:ou =用户,dc = test,dc = com 管理员DN:cn = admin,dc = test,dc = com

第2步:用户映射: 用户名字段:uid

第3步:组映射 集团领域:cn 成员字段:uniqueMember 描述字段:description

对于下一个窗口,当我点击“保存并继续”时,我得到以下异常:

HTTP ERROR 500

访问/setup/setup-admin-settings.jsp时出现问题。原因是:

Server Error

引起:

  

显示java.lang.NullPointerException             at org.jivesoftware.openfire.admin.setup.setup_002dadmin_002dsettings_jsp._jspService(setup_002dadmin_002dsettings_jsp.java:99)             在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)             在javax.servlet.http.HttpServlet.service(HttpServlet.java:820)             在org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)             在org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1359)             在com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)             在com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)             在org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1330)             在org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74)             在org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1330)             在org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)             在org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1330)             在org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78)             在org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1330)             在org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164)             在org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1330)             在org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)             在org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)             在org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)             在org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)             在org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)             在org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)             在org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)             在org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)             在org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)             at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)             在org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)             在org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)             在org.eclipse.jetty.server.Server.handle(Server.java:349)             在org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)             at org.eclipse.jetty.server.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:919)             在org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582)             在org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)             at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)             在org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)             在org.eclipse.jetty.io.nio.SelectChannelEndPoint $ 1.run(SelectChannelEndPoint.java:44)             在org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)             在org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:533)             在java.lang.Thread.run(Thread.java:701)

此外,我做了一些更改,我能够看到添加管理员屏幕,但我无法在此处添加任何现有的LDAP用户。它抛出了以下错误:

"未提供用户名或未找到指定的用户名。"

我重新启动了服务器,从那时起NullPointerException又开始回来了.-(一旦我完成了这个,那值得再讨论)

我哪里错了?

仅供参考,服务器,openfire和OpenLdap都在相同的虚拟机上运行。

先谢谢。

3 个答案:

答案 0 :(得分:1)

我可以通过更改用户映射部分中的高级设置继续下一个屏幕。我的更改是:Posix模式:无组过滤器:(objectClass = Group)

令人惊讶的是,一旦我到达添加管理员屏幕,在返回后我重置这些字段并且它仍然正常工作。我想知道重启服务器后它是否会起作用。

同样在步骤1中,确保在主机名中提供机器的IP地址。使用localhost,它对我有用。

谢谢, 希望它无论如何都有帮助!

答案 1 :(得分:0)

对于我的其他查询,我可以通过将我的基本DN修改为“基本DN:dc = test,dc = com”来添加管理员 指定ou,似乎我在限制用户。 :)

答案 2 :(得分:0)

如果您遇到问题,即使所有测试都成功(通过点击“保存并继续”按钮旁边的“测试”按钮),这是因为您花了太长时间才完成设置和会话不知何故已过期。

重新启动openfire服务,重新加载网页并一次性完成设置过程。