]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/auth/CurrentUser.java
Add single user login module
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / CurrentUser.java
index 11126014f2aba49e9a85a6ddf16f9242da8792a1..8aa08728b79846eace2b4e970c6223de4ef5fa34 100644 (file)
@@ -48,19 +48,18 @@ public final class CurrentUser {
        }
 
        public static boolean isAnonymous(Subject subject) {
-               return getUsername(subject).equalsIgnoreCase(
-                               AuthConstants.ROLE_ANONYMOUS);
+               String username = getUsername(subject);
+               return username == null
+                               || username.equalsIgnoreCase(AuthConstants.ROLE_ANONYMOUS);
        }
 
        private static Subject currentSubject() {
+               CmsView cmsView = CmsUtils.getCmsView();
+               if (cmsView != null)
+                       return cmsView.getSubject();
                Subject subject = Subject.getSubject(AccessController.getContext());
                if (subject != null)
                        return subject;
-               if (subject == null) {
-                       CmsView cmsView = CmsUtils.getCmsView();
-                       if (cmsView != null)
-                               return cmsView.getSubject();
-               }
                throw new CmsException("Cannot find related subject");
        }