我在我的Java webstart應用程序中使用Jersey和JAX-RS連接到我的休息服務。當用戶使用我的webstart應用程序更改他們的密碼時,我會用新密碼重置WebTarget
以及新的HttpBasicAuthFilter
...但是,新密碼不會被使用!我已經在Java webstart之外的本地運行相同的代碼(使用java
而不是javaws
)並且它工作正常。這裏的問題代碼:如何在java webstart下運行時使用jax-rs設置新密碼?
public WebTarget getWebTarget(String username, String password) {
Client client = ClientBuilder.newBuilder().sslContext(SSLContext.getDefault()).build();
client.register(new HttpBasicAuthFilter(username, password));
WebTarget targetBase = client.target("localhost");
return targetBase;
}
密碼上面不會改變,當WebTarget
與類似request().get()
使用時所使用的基本密碼。我知道代碼的作品,因爲如果我啓動java
而不是javaws
...它的工作原理!所以問題出現在java webstart中,它似乎在緩存密碼。
如何獲取新的WebTarget
到具有不同密碼和相同用戶名的相同地址/主機?