以下是我的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都在相同的虚拟机上运行。
先谢谢。
答案 0 :(得分:1)
我可以通过更改用户映射部分中的高级设置继续下一个屏幕。我的更改是:Posix模式:无组过滤器:(objectClass = Group)
令人惊讶的是,一旦我到达添加管理员屏幕,在返回后我重置这些字段并且它仍然正常工作。我想知道重启服务器后它是否会起作用。
同样在步骤1中,确保在主机名中提供机器的IP地址。使用localhost,它对我有用。
谢谢, 希望它无论如何都有帮助!
答案 1 :(得分:0)
对于我的其他查询,我可以通过将我的基本DN修改为“基本DN:dc = test,dc = com”来添加管理员 指定ou,似乎我在限制用户。 :)
答案 2 :(得分:0)
如果您遇到问题,即使所有测试都成功(通过点击“保存并继续”按钮旁边的“测试”按钮),这是因为您花了太长时间才完成设置和会话不知何故已过期。
重新启动openfire
服务,重新加载网页并一次性完成设置过程。