X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FUserAdminLoginModule.java;h=638547d2471a3d94e69d7de82a7595d60ea29e0e;hb=HEAD;hp=2b5c41ddf8333395ddccf823d14124b5000ddcbf;hpb=3b45f571938e0eb6803084aac3f2bd298e6026ba;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/auth/UserAdminLoginModule.java b/org.argeo.cms/src/org/argeo/cms/auth/UserAdminLoginModule.java index 2b5c41ddf..638547d24 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/UserAdminLoginModule.java +++ b/org.argeo.cms/src/org/argeo/cms/auth/UserAdminLoginModule.java @@ -103,6 +103,11 @@ public class UserAdminLoginModule implements LoginModule { username = (String) sharedState.get(CmsAuthUtils.SHARED_STATE_NAME); password = null; preauth = true; + } else if (sharedState.containsKey(CmsAuthUtils.SHARED_STATE_OS_USERNAME)) { + // single user, we assume Kerberos or other mean for commit + username = (String) sharedState.get(CmsAuthUtils.SHARED_STATE_OS_USERNAME); + password = null; + preauth = true; } else { // ask for username and password @@ -205,7 +210,7 @@ public class UserAdminLoginModule implements LoginModule { // } UserAdmin userAdmin = CmsContextImpl.getCmsContext().getUserAdmin(); Authorization authorization; - if (callbackHandler == null) {// anonymous + if (callbackHandler == null && !sharedState.containsKey(CmsAuthUtils.SHARED_STATE_OS_USERNAME)) {// anonymous authorization = userAdmin.getAuthorization(null); } else if (bindAuthorization != null) {// bind authorization = bindAuthorization; @@ -277,14 +282,16 @@ public class UserAdminLoginModule implements LoginModule { if (log.isDebugEnabled()) { StringBuilder msg = new StringBuilder(); - msg.append("Logged in to CMS: " + authorization.getName() + "(" + authorization + ")\n"); - for (Principal principal : subject.getPrincipals()) { - msg.append(" Principal: " + principal.getName()).append(" (") - .append(principal.getClass().getSimpleName()).append(")\n"); - } - for (Object credential : subject.getPublicCredentials()) { - msg.append(" Public Credential: " + credential).append(" (") - .append(credential.getClass().getSimpleName()).append(")\n"); + msg.append("Logged in to CMS: '" + authorization + "' (" + authorization.getName() + ")\n"); + if (log.isTraceEnabled()) { + for (Principal principal : subject.getPrincipals()) { + msg.append(" Principal: " + principal.getName()).append(" (") + .append(principal.getClass().getSimpleName()).append(")\n"); + } + for (Object credential : subject.getPublicCredentials()) { + msg.append(" Public Credential: " + credential).append(" (") + .append(credential.getClass().getSimpleName()).append(")\n"); + } } log.debug(msg); }