X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FUserAdminLoginModule.java;h=47b36f446f003744d61d4c56e3ccc31ba6a122f6;hb=7df9a77d020b8b982aea6b899073be5003dd3232;hp=2b5c41ddf8333395ddccf823d14124b5000ddcbf;hpb=38c49024a04a79f275bfcee6098b7ec44fab2157;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..47b36f446 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,7 +282,7 @@ public class UserAdminLoginModule implements LoginModule { if (log.isDebugEnabled()) { StringBuilder msg = new StringBuilder(); - msg.append("Logged in to CMS: " + authorization.getName() + "(" + authorization + ")\n"); + msg.append("Logged in to CMS: '" + authorization + "' (" + authorization.getName() + ")\n"); for (Principal principal : subject.getPrincipals()) { msg.append(" Principal: " + principal.getName()).append(" (") .append(principal.getClass().getSimpleName()).append(")\n");