3

スタンドアロンのJavaアプリケーションからEJBを検索しようとしています。WebSphere Application Server 6.1の観点から考えていますが、誰かが別のアプリケーションサーバーに対してこれを行う方法を知っていれば、正しい方向に進む可能性があります。

私が現在していること:

        initialContext= new InitialContext(env);
    initialContext.lookup("");

    lc = new LoginContext("WSLogin", new WSCallbackHandlerImpl("wasadmin", "defaultWIMFileBasedRealm", "wasadmin"));
    lc.login();
    subject = lc.getSubject();
    WSSubject.setRunAsSubject(subject);

これは機能していません...私の件名はまだ「/UNAUTHENTICATED」であり、EJBを検索しようとするとエラーが発生します。また、アプリケーションの実行時にVMに次のパラメーターを指定しています。

-Dcom.ibm.CORBA.ConfigURL = "C:\ was \ profiles \ AppSrv01 \properties \ sas.client.props" -Djava.security.auth.login.config = "C:\ was \ profiles \ AppSrv01 \ properties \ wsjaas_client.conf "

4

1 に答える 1

1

WebSphere 6 の場合、同じ WebSphere にデプロイされたサーブレット (Jersey-RESTful WAR) から保護された EJB にアクセスしようとしました。これが機能するコードです

     Properties prop = new Properties();

    prop.put("org.omg.CORBA.ORBClass", "com.ibm.CORBA.iiop.ORB");   
    prop.put("java.naming.factory.initial", "com.ibm.websphere.naming.WsnInitialContextFactory");
    prop.put("java.naming.provider.url", "corbaloc:iiop:localhost:9810");
    prop.put("com.ibm.CORBA.securityEnabled", "true");
    prop.put("com.ibm.CORBA.validateBasicAuth", "true");


    Context ctx;
    try {
        ctx = new InitialContext(prop);

        System.out.println("Resolved Inital Context");
        Object ejbHome = ctx.lookup("");
        System.out.println("Resolved Home OperationManagerEJB");
        logger.info("So far so good, tryining to Login ");
        LoginContext lc;
        lc = new LoginContext("WSLogin",new WSCallbackHandlerImpl("username","password"));
        lc.login();

        logger.info("Login Suceeded with omc_user");
        WSSubject.setRunAsSubject(lc.getSubject()); //This is one key call 
        logger.info("Setting the authorization sibject");

参考文献

http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Frtrb_secprobs.html

http://pic.dhe.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Fxsec_jaas.html

http://pic.dhe.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Fxsec_jaas.html

于 2012-12-10T11:01:43.733 に答える