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(ユーザー名、パスワード、「localhost」)

... }

以下のブログで説明しています。以下のブログでは、管理サービスの使用方法について説明していますが、参考のためにロジック部分を使用できます。

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

于 2013-07-11T05:09:41.890 に答える