2013-07-10 78 views
0

我正在使用wso2 esb在项目中工作。 对于另一个应用程序,我想使用wso2 esb数据库中的用户。 这可能吗?因为我认为他们使用sha256密码散列的盐。有没有办法在不使用WSO2 IS的情况下将数据用于另一个应用程序中的认证?WSO2 ESB在其他应用程序中使用用户数据


我试图用这个认证: http://nuwanwimalasekara.blogspot.de/2013/02/invoking-wso2-carbon-admin-services.html

我复制类LoginAdminServiceClient喜欢在博客上。 为了得到这个类的对象我用下面的代码:

package wso2conn; 

import java.rmi.RemoteException; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import org.apache.axis2.AxisFault; 
import org.wso2.carbon.authenticator.stub.LoginAuthenticationExceptionException; 

public class WSO2Conn { 
    public static void main(String[] args) throws AxisFault { 
     String authenticate = null; 
     try { 
      // TODO code application logic here 
      LoginAdminServiceClient login = new LoginAdminServiceClient("https://localhost:9443"); 
      authenticate = login.authenticate("admin", "admin"); 
     } catch (RemoteException ex) { 
      Logger.getLogger(WSO2Conn.class.getName()).log(Level.SEVERE, null, ex); 
     } catch (LoginAuthenticationExceptionException ex) { 
      Logger.getLogger(WSO2Conn.class.getName()).log(Level.SEVERE, null, ex); 
     } 
     System.out.println("Session: " + authenticate); 
    } 
} 

进口库:

  • org.wso2.carbon.authenticator.proxy_4.0.2.jar
  • org.wso2。 carbon.authenticator.stub_4.0.0.jar
  • axis2_1.6.1.wso2v7.jar
  • Axis2的-json_1.6.1.wso2v7.jar
  • AXI S2-运输jms_1.1.0.wso2v7.jar
  • org.wso2.carbon.service.mgt.stub_4.0.0.jar

如果我跑这个项目,我得到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axiom/om/OMFactory 
    at wso2conn.LoginAdminServiceClient.<init>(LoginAdminServiceClient.java:18) 
    at wso2conn.WSO2Conn.main(WSO2Conn.java:26) 
Caused by: java.lang.ClassNotFoundException: org.apache.axiom.om.OMFactory 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    ... 2 more 
Java Result: 1 

也许有一些库丢失或backEndUrl错了?

回答

0

您可以尝试使用AuthenticationAdminStub库来达到此目的。

{..

authenticationAdminStub.login(用户名,密码, “本地主机”)

... }

如解释在下面blog.Though以下博客介绍了如何使用管理服务,您可以使用逻辑部分供您参考。

http://nuwanwimalasekara.blogspot.com/2013/02/invoking-wso2-carbon-admin-services.html

+0

这个描述真的很糟糕。我试过了,并将代码添加到我的问题。它不工作,因为我得到一个错误。 – muetze

+0

这个博客解释了maven的依赖关系。 – jayalalk

相关问题