X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=security%2Feclipse%2Fplugins%2Forg.argeo.security.ui.application%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fapplication%2FAbstractSecureApplication.java;h=a0a2f922bbe31bc16384c087a80cf64c613582ff;hb=77eaf70d8b929dab68211d6a01f68eeb71a1dceb;hp=3a92e5273058ca2914e3253bc84787cf3d3c5d27;hpb=11703221f489a07fec8f1ccbfacbe401587e9ce5;p=lgpl%2Fargeo-commons.git diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/AbstractSecureApplication.java b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/AbstractSecureApplication.java index 3a92e5273..a0a2f922b 100644 --- a/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/AbstractSecureApplication.java +++ b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/AbstractSecureApplication.java @@ -6,7 +6,6 @@ import javax.security.auth.Subject; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.security.equinox.CurrentUser; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.equinox.app.IApplication; @@ -34,12 +33,18 @@ public abstract class AbstractSecureApplication implements IApplication { try { String username = null; Exception loginException = null; + Subject subject = null; try { - username = CurrentUser.getUsername(); + SecureApplicationActivator.getLoginContext().login(); + subject = SecureApplicationActivator.getLoginContext() + .getSubject(); + + // username = CurrentUser.getUsername(); } catch (Exception e) { loginException = e; + e.printStackTrace(); } - if (username == null) { + if (subject == null) { IStatus status = new Status(IStatus.ERROR, "org.argeo.security.application", "Login is mandatory", loginException); @@ -48,9 +53,8 @@ public abstract class AbstractSecureApplication implements IApplication { } if (log.isDebugEnabled()) log.debug("Logged in as " + username); - returnCode = (Integer) Subject.doAs(CurrentUser.getSubject(), - getRunAction(display)); - CurrentUser.logout(); + returnCode = (Integer) Subject.doAs(subject, getRunAction(display)); + SecureApplicationActivator.getLoginContext().logout(); return processReturnCode(returnCode); } catch (Exception e) { // e.printStackTrace(); @@ -104,9 +108,9 @@ public abstract class AbstractSecureApplication implements IApplication { if (log.isDebugEnabled()) log.debug("workbench stopped"); - String username = CurrentUser.getUsername(); - if (log.isDebugEnabled()) - log.debug("workbench stopped, logged in as " + username); + // String username = CurrentUser.getUsername(); + // if (log.isDebugEnabled()) + // log.debug("workbench stopped, logged in as " + username); }