]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/auth/CurrentUser.java
Give CMS user priority with regard to access context
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / CurrentUser.java
index 5a65fcb112da76ce012f1f67f8e2771f5f2d36a4..8aa08728b79846eace2b4e970c6223de4ef5fa34 100644 (file)
@@ -43,15 +43,23 @@ public final class CurrentUser {
                return getDisplayName(currentSubject());
        }
 
+       public static boolean isAnonymous() {
+               return isAnonymous(currentSubject());
+       }
+
+       public static boolean isAnonymous(Subject subject) {
+               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");
        }