AuthCacheValue.setAuthCache的公共API替代方法是什么?

时间:2016-09-20 06:50:23

标签: java authentication

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中的一个错误,所以如果他们已经修复了它,那也很好。

0 个答案:

没有答案