Workspace model that has a bunch of one to many relationships toDatasets, Transformsetc.workspace_01_editor which gives him editor rights on the workspace with id 1. This works fine and I have a middleware that automatically checks the access in the WorkspaceController. However, I was unable to find a good strategy for the other Controllers such and DatasetController and TransformController?GetDatasetByIdAndWorkspaceIdso the query would be for both where dataset.Id = datasetId and dataset.WorkspaceId = workspaceId. However, this feels like a lot of work and would require all models to have a direct relationship to workspace (even the ones that might not have a direct relationship with workspace)