RolesSourceProvider to enable activities by cdm roles and protecting bulkeditors...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / store / CdmStore.java
index 42f14e5ce1ea0473dbf9b4473d30ce5edec6ed7c..83c558e1ab0f1444346b8413e487c504a6fb4459 100644 (file)
@@ -21,6 +21,7 @@ import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.Resource;
 import org.springframework.security.access.PermissionEvaluator;
 import org.springframework.security.authentication.ProviderManager;
+import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContext;
 import org.springframework.security.core.context.SecurityContextHolder;
 
@@ -348,13 +349,16 @@ public class CdmStore {
         * @return
         */
        public static boolean currentAuthentiationHasPermission(Class<? extends CdmBase> targetType, EnumSet<CRUD> permission){
-               SecurityContext context = SecurityContextHolder.getContext();
-               return getPermissionEvaluator().hasPermission(context.getAuthentication(), null, targetType.getName(), permission);
+               return getPermissionEvaluator().hasPermission(getCurrentAuthentiation(), null, targetType.getName(), permission);
        }
        
        public static boolean currentAuthentiationHasOneOfRoles(Role ... roles){
+               return getPermissionEvaluator().hasOneOfRoles(getCurrentAuthentiation(), roles);
+       }
+       
+       public static Authentication getCurrentAuthentiation() {
                SecurityContext context = SecurityContextHolder.getContext();
-               return getPermissionEvaluator().hasOneOfRoles(context.getAuthentication(), roles);
+               return context.getAuthentication();
        }
        
        /*