2016-10-25 43 views
1

將ActiveMQ Web控制檯配置爲使用ldap進行身份驗證和授權時,出現以下錯誤。我使用的是一個免費的在線測試LDAP這個http://www.forumsys.com/en/tutorials/integration-how-to/ldap/online-ldap-test-server/並出現以下錯誤:將Activemq Web控制檯配置爲使用LDAP進行授權和身份驗證

java.lang.AbstractMethodError: org.eclipse.jetty.jaas.JAASLoginService.login(Ljava/lang/String;Ljava/lang/Object;)Lorg/eclipse/jetty/server/UserIdentity; 
     at org.eclipse.jetty.security.authentication.LoginAuthenticator.login(LoginAuthenticator.java:61)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.security.authentication.BasicAuthenticator.validateRequest(BasicAuthenticator.java:92)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:512)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.server.Server.handle(Server.java:499)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730] 
     at java.lang.Thread.run(Thread.java:745)[:1.8.0_101] 

請參閱我的jetty.xml和login.conf中配置部分和建議。

登錄CONF

LDAPLogin { 
    org.apache.activemq.jaas.LDAPLoginModule required 
    debug=true 
    initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory 
    connectionURL="ldap://ldap.forumsys.com:389" 
    connectionUsername="cn=read-only-admin,dc=example,dc=com" 
    connectionPassword=password 
    connectionProtocol="" 
    authentication=simple 
    userBase="dc=example,dc=com" 
    userSearchMatching="(uid={0})" 
    userSearchSubtree=false 
    roleBase="dc=example,dc=com" 
    roleName=ou 
    roleSearchMatching="(ou=scientists)" 
    roleSearchSubtree=false 
    ; 
}; 

的jetty.xml

<bean id="ldapLoginService" class="org.eclipse.jetty.jaas.JAASLoginService"> 
     <property name="name" value="LdapRealm" /> 
     <property name="loginModuleName" value="LDAPLogin" /> 
     <property name="roleClassNames" value="org.eclipse.jetty.jaas.JAASRole" /> 
     <property name="identityService" ref="identityService" /> 
    </bean> 

<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint"> 
     <property name="name" value="BASIC" /> 
     <property name="roles" value="scientists" /> 

     <property name="authenticate" value="true" /> 
    </bean> 

<bean id="securityHandler" class="org.eclipse.jetty.security.ConstraintSecurityHandler"> 
     <property name="loginService" ref="ldapLoginService" /> 
     <property name="identityService" ref="identityService" /> 
     <property name="realmName" value="LdapRealm" /> 
     <property name="authenticator"> 
      <bean class="org.eclipse.jetty.security.authentication.BasicAuthenticator" /> 
     </property> 
     <property name="constraintMappings"> 
      <list> 
       <ref bean="adminSecurityConstraintMapping" /> 
       <ref bean="securityConstraintMapping" /> 
      </list> 
     </property> 
     <property name="handler" ref="secHandlerCollection" /> 
    </bean> 

回答

相關問題