X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FDataAdminLoginModule.java;h=50a8788344abc533eebace5cce92239bb7c0428a;hb=6be83ba7b02c903dfb5aa5df9f7ef58bbbd9f6be;hp=215ed96b448325134f2e17b3d1a4998458eabbbf;hpb=7e333073d07b780efe681306a1842a750cbea83c;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/auth/DataAdminLoginModule.java b/org.argeo.cms/src/org/argeo/cms/auth/DataAdminLoginModule.java index 215ed96b4..50a878834 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/DataAdminLoginModule.java +++ b/org.argeo.cms/src/org/argeo/cms/auth/DataAdminLoginModule.java @@ -9,12 +9,13 @@ import javax.security.auth.spi.LoginModule; import org.argeo.node.security.DataAdminPrincipal; +/** Logs a system process as data admin */ public class DataAdminLoginModule implements LoginModule { private Subject subject; @Override - public void initialize(Subject subject, CallbackHandler callbackHandler, - Map sharedState, Map options) { + public void initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, + Map options) { this.subject = subject; } @@ -37,9 +38,7 @@ public class DataAdminLoginModule implements LoginModule { @Override public boolean logout() throws LoginException { - // remove ALL credentials (e.g. additional Jackrabbit credentials) - subject.getPrincipals().clear(); + subject.getPrincipals().removeAll(subject.getPrincipals(DataAdminPrincipal.class)); return true; } - }