package fr.openwide.core.basicapp.core.security.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.acls.model.Permission; import fr.openwide.core.basicapp.core.business.user.model.User; import fr.openwide.core.jpa.more.business.generic.model.GenericListItem; import fr.openwide.core.jpa.security.service.AbstractCorePermissionEvaluator; import fr.openwide.core.jpa.util.HibernateUtils; public class BasicApplicationPermissionEvaluator extends AbstractCorePermissionEvaluator<User> { @Autowired private IDefaultGenericListItemPermissionEvaluator defaultGenericListItemPermissionEvaluator; public BasicApplicationPermissionEvaluator() { } @Override protected boolean hasPermission(User user, Object targetDomainObject, Permission permission) { // Call your own permissionEvaluators here if (targetDomainObject != null) { targetDomainObject = HibernateUtils.unwrap(targetDomainObject); // NOSONAR } if (user != null) { user = HibernateUtils.unwrap(user); // NOSONAR } if (targetDomainObject instanceof GenericListItem) { return defaultGenericListItemPermissionEvaluator.hasPermission(user, (GenericListItem<?>) targetDomainObject, permission); } return false; } }