News:

Dear jDownloads users, There is currently no Joomla 6 compatible version available. However, we are working on it and hope to release it shortly.

Main Menu
Support-Forum

No more downloads in 4.1.6 - permission denied for all users including Super User

Started by kode, 23.07.2026 12:36:26

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kode

Hi Arno,

I am running jDownloads 4.1.16 on Joomla 5.4.7 with PHP 8.2.30 on a Windows/WAMP development environment (Apache 2.4.68, MySQL 8.0.45). The site was migrated from Joomla 3.10 with jDownloads 3.9.8.7.

Problem: No file can be downloaded by any user, including Super User. After clicking the download button, the page redirects to the home page and if I go back to the download page shows: "You do not have permission to download the requested file."

What I have verified:
File physically exists on disk in the correct folder
cat_dir in xj7oe_jdownloads_categories matches the physical folder name
url_download in xj7oe_jdownloads_files contains the correct filename
User Groups Settings: download permission enabled for Super Users, Registered and Formazione groups
Tested with "Send Downloads using PHP Script" both enabled and disabled — same result
The download URL generated is: http://[ip]/index.php/component/jdownloads/send/[catid]-[cat-alias]/[fileid]-[file-alias]?Itemid=[id]
Download is logged in xj7oe_jdownloads_logs (counter increments) but file is never delivered
Debug mode enabled: no PHP error shown, no entry in PHP error log
Three native jDownloads menu items created (List All Categories, List All Downloads, List My Downloads)

Additional issue: "List My Downloads" view shows files from other users, not filtered by the logged-in user. Files are assigned to specific users via the user_access field in xj7oe_jdownloads_files.

task=download.send via direct URL goes to the home page without a PHP error in the log.
Tested on a clean install of jDownloads 4.1.16 (not updated).

Question: Is there a known issue with the ACL/assets table after migration from jDownloads 3.x to 4.x? Could the xj7oe_assets table entries for jDownloads be missing or corrupt after migration?

Thank you.
  •  

Arno

Hi, 
thank you for the detailed report. We assume the mentioned version 4.1.16 is a typo and that you mean 4.1.6.

Your symptoms still look like a migration-related ACL/data consistency issue, so please run one additional Joomla ACL check in your own backend:

1. Go to: Users -> Debug User Group. 
2. Select group: Registered (and then repeat for Super Users). 
3. In filters, limit the list to jDownloads entries (com_jdownloads) only. 
4. Focus on download-related actions and check effective Allow/Deny plus inheritance source. 
5. Include component level, relevant category level, and affected single download items.

Please send screenshots of those filtered results.

Additionally, for 2-3 affected files, please share:
1. id 
2. catid 
3. access 
4. user_access 
5. created_by

And one quick runtime check:
Create one new category plus one new download now (not migrated data) and test whether download works there.

This will help us quickly separate ACL inheritance issues from migrated record/filter issues.
Best Regards / Gruß
Arno
Please make a Donation for jDownloads and/or write a review on the Joomla! Extensions directory!
  •  

kode

Hi Arno,

Thank you for your detailed instructions. Here are the results of all the checks you requested.

1. Debug User Group (Users → Debug Groups, group: Formazione / group_id=12)

All actions for com_jdownloads are shown in red (Denied) for the Formazione group, including the "Allows users in the group to download files" action.

Same result for Super Users group.

2. Data for 3 affected files (id, catid, access, user_access, created_by)

From production database:

id=701, catid=463, access=7, user_access=244, created_by=242
id=663, catid=187, access=7, user_access=247, created_by=242
id=4636, catid=7, access=7, user_access=244, created_by=242

3. Test with newly created category and file (not migrated data)

We created a brand new category "TEST2026" and a new file assigned to user "lugiann" as sole owner. Result: same error — "You do not have permission to download the requested file." The problem affects both migrated and newly created files.

4. xj7oe_assets table — ACL contradiction

The assets table shows group 12 (Formazione) explicitly allowed:

com_jdownloads (id=9542, parent_id=1, parent=root.1):
rules = {"download":{"1":1,"2":1,"12":1,"8":1}}

com_jdownloads.category.1 (id=9498):
rules = {"download":{"1":1,"2":1,"12":1,"8":1}}

So the assets table shows group 12 as explicitly Allowed (value=1), but the Debug Groups tool shows all actions as Denied. This is a direct contradiction.

5. jDownloads Options → Permissions

In the jDownloads backend Options → Permissions tab, the Formazione group has only one permission enabled: Download Files = Allowed.

6. Summary of the contradiction

xj7oe_assets: group 12 = explicitly Allowed (1)
jDownloads Options → Permissions: Formazione = Allowed
Joomla Debug Groups: all com_jdownloads actions = Denied (red)
Result: no user can download any file

This contradiction between the assets table and the Debug Groups output suggests either a broken ACL inheritance chain or a bug in how jDownloads 4.1.6 registers its permissions with Joomla's ACL system during installation on Joomla 5.4.7 / PHP 8.2.

Environment:

Joomla 5.4.7
jDownloads 4.1.6 (clean install, not upgrade)
PHP 8.2.30
MySQL 8.0.45
Windows/WAMP development environment
Migrated from Joomla 3.10 + jDownloads 3.9.8.7

Please let us know what additional information you need.

Thank you.
  •  

Arno

Hi kode,
thank you, this is very useful information.

I agree we should now try a direct, controlled repair path for your installation.

Important first:
- Please create a full DB backup.
- We only touch jDownloads-related assets/ACL.
- We do not run any global Joomla ACL reset.

## Step A (quick, low risk)

1. Reinstall jDownloads 4.1.6 over the current install.
2. Run Joomla Database Fix: System -> Maintenance -> Database -> Fix.
3. Open jDownloads -> Options -> Permissions and click Save once.
4. Clear Joomla cache.
5. Test:
   - one new test file with access = Public
   - one affected existing file

If still denied, continue with Step B.

## Step B (targeted SQL checks)

Please run these queries and post output/screenshots.

SELECT name, COUNT(*) AS cnt
FROM #__assets
WHERE name = 'com_jdownloads'
   OR name LIKE 'com_jdownloads.category.%'
   OR name LIKE 'com_jdownloads.download.%'
GROUP BY name
HAVING COUNT(*) > 1
ORDER BY cnt DESC, name ASC;

SELECT id, parent_id, lft, rgt, level, name, title, rules
FROM #__assets
WHERE name = 'com_jdownloads'
ORDER BY id;

SELECT 'category' AS row_type, c.id, c.asset_id
FROM #__jdownloads_categories c
LEFT JOIN #__assets a ON a.id = c.asset_id
WHERE c.asset_id IS NULL OR c.asset_id = 0 OR a.id IS NULL
UNION ALL
SELECT 'download' AS row_type, d.id, d.asset_id
FROM #__jdownloads_files d
LEFT JOIN #__assets a2 ON a2.id = d.asset_id
WHERE d.asset_id IS NULL OR d.asset_id = 0 OR a2.id IS NULL
ORDER BY row_type, id;

SELECT d.id, d.catid, d.access, v.title AS access_level_title, d.user_access, d.created_by
FROM #__jdownloads_files d
LEFT JOIN #__viewlevels v ON v.id = d.access
WHERE d.id IN (701, 663, 4636)
ORDER BY d.id;

SELECT id, title, rules
FROM #__viewlevels
WHERE id = 7;


## Step C (only if duplicates were found)

Run this only if Step B query 1 returns duplicates:


DELETE a
FROM #__assets a
JOIN (
    SELECT name, MIN(id) AS keep_id
    FROM #__assets
    WHERE name = 'com_jdownloads'
       OR name LIKE 'com_jdownloads.category.%'
       OR name LIKE 'com_jdownloads.download.%'
    GROUP BY name
    HAVING COUNT(*) > 1
) k ON k.name = a.name
WHERE a.id <> k.keep_id;

Then:
1. Rebuild asset tree in Joomla.
2. Reinstall jDownloads 4.1.6 once more.
3. Retest downloads.

If you post the Step B results, we can give you the exact final SQL for your dataset.
Best Regards / Gruß
Arno
Please make a Donation for jDownloads and/or write a review on the Joomla! Extensions directory!
  •  

kode

Subject: Re: Step B results - jDownloads ACL debug

Hi Arno,

Here are the results of your Step B queries.

Query 1 — Duplicates in assets:
Empty result — no duplicates found.

Query 2 — com_jdownloads asset:

id=9542, parent_id=1, lft=2027, rgt=17068, level=1
name=com_jdownloads, title=com_jDownloads
rules={"download":{"1":1,"2":1,"12":1,"8":1}}

Query 3 — Missing assets:
Empty result — no missing assets for categories or files.

Query 4 — Specific files:

id=663, catid=187, access=7 (FORMAZIONE), user_access=247, created_by=242
id=701, catid=463, access=7 (FORMAZIONE), user_access=242, created_by=242
id=4636, catid=7,  access=7 (FORMAZIONE), user_access=242, created_by=242

Query 5 — Viewlevel 7:

id=7, title=FORMAZIONE, rules=[2,12,8]

Summary of the contradiction:

xj7oe_assets for com_jdownloads: group 12 (Formazione) = explicitly Allowed ("12":1)
xj7oe_viewlevels id=7 (FORMAZIONE): contains groups [2,12,8] — correct
access=7 on files = FORMAZIONE access level — correct
jDownloads Options → Permissions: Formazione group = Allowed for download
BUT: Joomla Debug Groups (Users → Debug Groups → group Formazione) shows ALL com_jdownloads actions as Denied (red)
AND: actual download attempt returns "You do not have permission to download the requested file" for ALL users including Super User

Additional context:

New clean install of jDownloads 4.1.6 (not an upgrade — fresh installation)
Same result with newly created test files and user (not migrated data)
Joomla 5.4.7, PHP 8.2.30, MySQL 8.0.45, Windows/WAMP
Migrated from Joomla 3.10 + jDownloads 3.9.8.7

All asset data looks correct but downloads are denied for everyone. What do you suggest as the next step?

Thank you.
  •