Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WebSphere 7:WSCallbackHandlerImpl+InitialContext_Java_Websphere_Jndi_Jaas - Fatal编程技术网

Java WebSphere 7:WSCallbackHandlerImpl+InitialContext

Java WebSphere 7:WSCallbackHandlerImpl+InitialContext,java,websphere,jndi,jaas,Java,Websphere,Jndi,Jaas,使用WSCallbackHandlerImpl执行编程登录时,如果没有将java.naming.provider.url设置为系统属性或jndi.properties文件,则需要调用: Object obj = initialContext.lookup(""); 在执行登录之前 之后,以下代码起作用: LoginContext lc = null; try { lc = new LoginContext("WSLogin", new WSCallbackHan

使用WSCallbackHandlerImpl执行编程登录时,如果没有将java.naming.provider.url设置为系统属性或jndi.properties文件,则需要调用:

Object obj = initialContext.lookup("");
在执行登录之前

之后,以下代码起作用:

LoginContext lc = null;
try {
    lc = new LoginContext("WSLogin",
            new WSCallbackHandlerImpl("userName", "realm", "password"));
} catch (LoginException le) {
    System.out.println("Cannot create LoginContext. " + le.getMessage());
    // insert error processing code
} catch(SecurityException se) {
    System.out.printlin("Cannot create LoginContext." + se.getMessage();
    // Insert error processing
}
见:

obj和initialContext都不会传递给WSCallbackHandlerImpl或LoginContext

根据Javadoc,返回上下文的新实例

问题:

为什么在这种情况下需要空字符串查找? WSCallbackHandlerImpl如何获取服务器URL? 这是特定于WebSphere的吗?
如果不提供查找,是否有任何错误?您需要什么,因为可能有更好的解决方案以这种方式使用LoginModule。如该教程中所述,如果省略查找,则将使用默认URL localhost:2809,授权失败。我在WAS 8.5的servlet中使用了该代码,它在没有任何空查找的情况下运行良好,属性也不是系统属性,我的默认端口是2810而不是2809。这就是为什么我要问你想做什么以及异常堆栈跟踪是什么。