{
"reqId": "tkLxy0we2X6ECthxIfYC",
"level": 3,
"time": "2026-04-14T19:53:14+00:00",
"remoteAddr": "2a01:4f9:3a:161f::cafe",
"user": "--",
"app": "richdocuments",
"method": "GET",
"url": "/index.php/apps/richdocuments/wopi/files/1085_ocucescblmv4/contents?access_token=z98dVmVlCWhEGBR75tk4Ty6Kt1vY2LVV&access_token_ttl=0",
"scriptName": "/index.php",
"message": "getFile failed: Access denied by access control",
"userAgent": "COOLWSD HTTP Agent 25.04.8.3",
"version": "32.0.8.2",
"exception": {
"Exception": "OCP\\Files\\ForbiddenException",
"Message": "Access denied by access control",
"Code": 0,
"Trace": [
{
"file": "/var/www/html/custom_apps/files_accesscontrol/lib/StorageWrapper.php",
"line": 46,
"function": "checkFileAccess",
"class": "OCA\\FilesAccessControl\\Operation",
"type": "->",
"args": [
"Gestion du personnel/Nouveau document.docx",
{
"__class__": "OCA\\GroupFolders\\Mount\\GroupMountPoint"
},
false
]
},
{
"file": "/var/www/html/custom_apps/files_accesscontrol/lib/StorageWrapper.php",
"line": 235,
"function": "checkFileAccess",
"class": "OCA\\FilesAccessControl\\StorageWrapper",
"type": "->",
"args": [
"Gestion du personnel/Nouveau document.docx",
false
]
},
{
"file": "/var/www/html/custom_apps/terms_of_service/lib/Filesystem/StorageWrapper.php",
"line": 69,
"function": "fopen",
"class": "OCA\\FilesAccessControl\\StorageWrapper",
"type": "->",
"args": [
"Gestion du personnel/Nouveau document.docx",
"r"
]
},
{
"file": "/var/www/html/lib/private/Files/View.php",
"line": 1211,
"function": "fopen",
"class": "OCA\\TermsOfService\\Filesystem\\StorageWrapper",
"type": "->",
"args": [
"Gestion du personnel/Nouveau document.docx",
"r"
]
},
{
"file": "/var/www/html/lib/private/Files/View.php",
"line": 1039,
"function": "basicOperation",
"class": "OC\\Files\\View",
"type": "->",
"args": [
"fopen",
"/alice/files/RH/Gestion du personnel/Nouveau document.docx",
[
"read"
],
"r"
]
},
{
"file": "/var/www/html/lib/private/Files/Node/File.php",
"line": 95,
"function": "fopen",
"class": "OC\\Files\\View",
"type": "->",
"args": [
"/alice/files/RH/Gestion du personnel/Nouveau document.docx",
"r"
]
},
{
"file": "/var/www/html/custom_apps/richdocuments/lib/Controller/WopiController.php",
"line": 390,
"function": "fopen",
"class": "OC\\Files\\Node\\File",
"type": "->",
"args": [
"rb"
]
},
{
"file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
"line": 204,
"function": "getFile",
"class": "OCA\\Richdocuments\\Controller\\WopiController",
"type": "->",
"args": [
"1085",
"z9…VV"
]
},
{
"file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
"line": 118,
"function": "executeController",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Richdocuments\\Controller\\WopiController"
},
"getFile"
]
},
{
"file": "/var/www/html/lib/private/AppFramework/App.php",
"line": 153,
"function": "dispatch",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Richdocuments\\Controller\\WopiController"
},
"getFile"
]
},
{
"file": "/var/www/html/lib/private/Route/Router.php",
"line": 321,
"function": "main",
"class": "OC\\AppFramework\\App",
"type": "::",
"args": [
"OCA\\Richdocuments\\Controller\\WopiController",
"getFile",
{
"__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
},
{
"_route": "richdocuments.wopi.getfile",
"fileId": "1085_ocucescblmv4"
}
]
},
{
"file": "/var/www/html/lib/base.php",
"line": 1091,
"function": "match",
"class": "OC\\Route\\Router",
"type": "->",
"args": [
"/apps/richdocuments/wopi/files/1085_ocucescblmv4/contents"
]
},
{
"file": "/var/www/html/index.php",
"line": 25,
"function": "handleRequest",
"class": "OC",
"type": "::",
"args": []
}
],
"File": "/var/www/html/custom_apps/files_accesscontrol/lib/Operation.php",
"Line": 81,
"message": "getFile failed: Access denied by access control",
"exception": [],
"CustomMessage": "getFile failed: Access denied by access control"
},
"id": "69de9b3d51f47"
}
How to use GitHub
Steps to reproduce
mytag, a groupmygroup, assign a user Alice tomygroupWhen file is access AND file is tagged mymytagAND user groupmembership is not member ofmygroup` THEN block access to the file.mytagto the folder, and refresh the pageExpected behaviour
Alice should be able to open the document again
Actual behaviour
opening the document fails

Nextcloud log shows:
{ "reqId": "tkLxy0we2X6ECthxIfYC", "level": 3, "time": "2026-04-14T19:53:14+00:00", "remoteAddr": "2a01:4f9:3a:161f::cafe", "user": "--", "app": "richdocuments", "method": "GET", "url": "/index.php/apps/richdocuments/wopi/files/1085_ocucescblmv4/contents?access_token=z98dVmVlCWhEGBR75tk4Ty6Kt1vY2LVV&access_token_ttl=0", "scriptName": "/index.php", "message": "getFile failed: Access denied by access control", "userAgent": "COOLWSD HTTP Agent 25.04.8.3", "version": "32.0.8.2", "exception": { "Exception": "OCP\\Files\\ForbiddenException", "Message": "Access denied by access control", "Code": 0, "Trace": [ { "file": "/var/www/html/custom_apps/files_accesscontrol/lib/StorageWrapper.php", "line": 46, "function": "checkFileAccess", "class": "OCA\\FilesAccessControl\\Operation", "type": "->", "args": [ "Gestion du personnel/Nouveau document.docx", { "__class__": "OCA\\GroupFolders\\Mount\\GroupMountPoint" }, false ] }, { "file": "/var/www/html/custom_apps/files_accesscontrol/lib/StorageWrapper.php", "line": 235, "function": "checkFileAccess", "class": "OCA\\FilesAccessControl\\StorageWrapper", "type": "->", "args": [ "Gestion du personnel/Nouveau document.docx", false ] }, { "file": "/var/www/html/custom_apps/terms_of_service/lib/Filesystem/StorageWrapper.php", "line": 69, "function": "fopen", "class": "OCA\\FilesAccessControl\\StorageWrapper", "type": "->", "args": [ "Gestion du personnel/Nouveau document.docx", "r" ] }, { "file": "/var/www/html/lib/private/Files/View.php", "line": 1211, "function": "fopen", "class": "OCA\\TermsOfService\\Filesystem\\StorageWrapper", "type": "->", "args": [ "Gestion du personnel/Nouveau document.docx", "r" ] }, { "file": "/var/www/html/lib/private/Files/View.php", "line": 1039, "function": "basicOperation", "class": "OC\\Files\\View", "type": "->", "args": [ "fopen", "/alice/files/RH/Gestion du personnel/Nouveau document.docx", [ "read" ], "r" ] }, { "file": "/var/www/html/lib/private/Files/Node/File.php", "line": 95, "function": "fopen", "class": "OC\\Files\\View", "type": "->", "args": [ "/alice/files/RH/Gestion du personnel/Nouveau document.docx", "r" ] }, { "file": "/var/www/html/custom_apps/richdocuments/lib/Controller/WopiController.php", "line": 390, "function": "fopen", "class": "OC\\Files\\Node\\File", "type": "->", "args": [ "rb" ] }, { "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php", "line": 204, "function": "getFile", "class": "OCA\\Richdocuments\\Controller\\WopiController", "type": "->", "args": [ "1085", "z9…VV" ] }, { "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php", "line": 118, "function": "executeController", "class": "OC\\AppFramework\\Http\\Dispatcher", "type": "->", "args": [ { "__class__": "OCA\\Richdocuments\\Controller\\WopiController" }, "getFile" ] }, { "file": "/var/www/html/lib/private/AppFramework/App.php", "line": 153, "function": "dispatch", "class": "OC\\AppFramework\\Http\\Dispatcher", "type": "->", "args": [ { "__class__": "OCA\\Richdocuments\\Controller\\WopiController" }, "getFile" ] }, { "file": "/var/www/html/lib/private/Route/Router.php", "line": 321, "function": "main", "class": "OC\\AppFramework\\App", "type": "::", "args": [ "OCA\\Richdocuments\\Controller\\WopiController", "getFile", { "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer" }, { "_route": "richdocuments.wopi.getfile", "fileId": "1085_ocucescblmv4" } ] }, { "file": "/var/www/html/lib/base.php", "line": 1091, "function": "match", "class": "OC\\Route\\Router", "type": "->", "args": [ "/apps/richdocuments/wopi/files/1085_ocucescblmv4/contents" ] }, { "file": "/var/www/html/index.php", "line": 25, "function": "handleRequest", "class": "OC", "type": "::", "args": [] } ], "File": "/var/www/html/custom_apps/files_accesscontrol/lib/Operation.php", "Line": 81, "message": "getFile failed: Access denied by access control", "exception": [], "CustomMessage": "getFile failed: Access denied by access control" }, "id": "69de9b3d51f47" }Server configuration
alptis.ltd3.nc.c
Web server: Apache/Nginx
Database: MySQL/Maria/SQLite/PostgreSQL
PHP version: 8.2/8.3/8.4
Nextcloud version: (see Nextcloud admin page)
List of activated apps
Nextcloud configuration
Browser
Browser name: Firefox/Chrome/Safari/…
Browser version: 124/125/…
Operating system: Windows/Ubuntu/Mac/…
Browser log