From: Mathieu Baudier Date: Mon, 23 Oct 2023 05:59:24 +0000 (+0200) Subject: Single user login does not create principal if Kerberos is available X-Git-Tag: v2.3.22~2 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=b6de3c9320472e5da1414f11fe4556942c09a97d Single user login does not create principal if Kerberos is available --- diff --git a/org.argeo.cms/src/org/argeo/cms/auth/SingleUserLoginModule.java b/org.argeo.cms/src/org/argeo/cms/auth/SingleUserLoginModule.java index 10e091ead..cfffb6eea 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/SingleUserLoginModule.java +++ b/org.argeo.cms/src/org/argeo/cms/auth/SingleUserLoginModule.java @@ -69,8 +69,14 @@ public class SingleUserLoginModule implements LoginModule { locale = request.getLocale(); if (locale == null) locale = Locale.getDefault(); - Authorization authorization = new SingleUserAuthorization(authorizationName); - CmsAuthUtils.addAuthorization(subject, authorization); + + Authorization authorization = null; + if (kerberosPrincipal != null) { + authorization = new SingleUserAuthorization(authorizationName); + CmsAuthUtils.addAuthorization(subject, authorization); + } else { + // next step with user admin will properly populate + } // Add standard Java OS login OsUserUtils.loginAsSystemUser(subject); @@ -81,7 +87,8 @@ public class SingleUserLoginModule implements LoginModule { // principals.add(new ImpliedByPrincipal(NodeConstants.ROLE_ADMIN, principal)); // principals.add(new DataAdminPrincipal()); - CmsAuthUtils.registerSessionAuthorization(request, subject, authorization, locale); + if (authorization != null) + CmsAuthUtils.registerSessionAuthorization(request, subject, authorization, locale); return true; }