Java 9将最终阻止我们使用sun内部类。
我们仍有一个这样的用法如下:
import sun.net.www.protocol.http.AuthCache;
import sun.net.www.protocol.http.AuthCacheValue;
public static void authenticationHacks() {
AuthCacheValue.setAuthCache(new NullAuthCache());
}
//...
class NullAuthCache implements AuthCache {
@Override
public void put(String s, AuthCacheValue authCacheValue) {
}
@Override
public AuthCacheValue get(String s, String s1) {
return null;
}
@Override
public void remove(String s, AuthCacheValue authCacheValue) {
}
}
是否有公开替代?
就X-Y问题的X而言,这是在单个应用程序中运行的多个用户的解决方法,其中该应用程序使用java.net.URL
发出请求。如果您不执行此hack,第一个成功通过身份验证的用户的凭据将被保留,并传递给其他服务器以获取实际属于不同用户的请求。
如果还有其他办法,我想知道。我认为这是JRE中的一个错误,所以如果他们已经修复了它,那也很好。