0

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


我尝试使用它进行身份验证: 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
  • axis2-transport-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 错误?

4

1 回答 1

0

为此,您可以尝试使用 AuthenticationAdminStub 库。

{..

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

... }

正如下面博客中的解释。虽然下面的博客解释了如何使用管理服务,但您可以使用逻辑部分供您参考。

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

于 2013-07-11T05:09:41.890 回答