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.
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.
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.
(https://drive.google.com/file/d/1oZaVIUbLCPfHI3YurLARqljLGMhaW6Nq/view?usp=sharing)