X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Feclipse%2Fplugins%2Forg.argeo.security.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fdialogs%2FAbstractLoginDialog.java;h=d3d1be38b5154b785f6ea3b36ac68a43697e1f2e;hb=ab4dcfd6237c3f2064e63b3e6bb1a740f0a56e2c;hp=d13414e1345a761eeee8ee52b8d22f4485f0eac0;hpb=83dc7b38160651626d00f6048f20183e01ad323a;p=lgpl%2Fargeo-commons.git diff --git a/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/dialogs/AbstractLoginDialog.java b/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/dialogs/AbstractLoginDialog.java index d13414e13..d3d1be38b 100644 --- a/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/dialogs/AbstractLoginDialog.java +++ b/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/dialogs/AbstractLoginDialog.java @@ -4,6 +4,8 @@ import java.io.IOException; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.NameCallback; +import javax.security.auth.callback.PasswordCallback; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; @@ -102,6 +104,13 @@ public abstract class AbstractLoginDialog extends TitleAreaDialog implements // Call the adapter to handle the callbacks if (!isCancelled()) internalHandle(); + else + // clear callbacks are when cancelling + for (Callback callback : callbacks) + if (callback instanceof PasswordCallback) + ((PasswordCallback) callback).setPassword(null); + else if (callback instanceof NameCallback) + ((NameCallback) callback).setName(null); } }, true, new NullProgressMonitor(), Display.getDefault()); } catch (final Exception e) {