Clarify error message
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 5 May 2023 06:28:21 +0000 (08:28 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 5 May 2023 06:28:21 +0000 (08:28 +0200)
org.argeo.cms/src/org/argeo/cms/acr/CmsContentRepository.java

index 3b47c1630aa4f63a41a30d0909d2ace7b13350de..89e725043923694498846d06b0307fd9d454fa50 100644 (file)
@@ -5,6 +5,7 @@ import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
 
+import javax.security.auth.Subject;
 import javax.security.auth.login.LoginContext;
 import javax.security.auth.login.LoginException;
 
@@ -42,8 +43,11 @@ public class CmsContentRepository extends AbstractContentRepository {
 
        @Override
        public ContentSession get(Locale locale) {
-               if (!CmsSession.hasCmsSession(CurrentSubject.current())) {
-                       if (DataAdminPrincipal.isDataAdmin(CurrentSubject.current())) {
+               Subject subject = CurrentSubject.current();
+               if (subject == null)
+                       throw new IllegalStateException("Caller must be authenticated");
+               if (!CmsSession.hasCmsSession(subject)) {
+                       if (DataAdminPrincipal.isDataAdmin(subject)) {
                                // TODO open multiple data admin sessions?
                                return getSystemSession();
                        }