public boolean canDisable()

in src/main/java/org/apache/sling/jackrabbit/usermanager/impl/AuthorizablePrivilegesInfoImpl.java [326:343]


    public boolean canDisable(Session jcrSession, String userId) {
        boolean hasRights = false;
        try {
            hasRights = checkAuthorizablePath(jcrSession, userId,
                User.class::isInstance,
                path -> {
                    //check if the non-admin user has sufficient rights on the home folder
                    AccessControlManager acm = jcrSession.getAccessControlManager();
                    Set<Privilege> requiredPrivileges = new HashSet<>();
                    requiredPrivileges.add(acm.privilegeFromName(Privilege.JCR_READ));
                    requiredPrivileges.add(acm.privilegeFromName(PrivilegeConstants.REP_USER_MANAGEMENT));
                    return acm.hasPrivileges(path, requiredPrivileges.toArray(new Privilege[requiredPrivileges.size()]));
                });
        } catch (RepositoryException e) {
            log.warn("Failed to determine if {} can disable user {}", jcrSession.getUserID(), userId);
        }
        return hasRights;
    }